簡體   English   中英

將Angular2組件作為參數傳遞

[英]Pass Angular2 Component as parameter

我需要創建一個通用解決方案,通過傳遞一些參數來從應用程序內的任何位置打開模式,這些參數可能只是大小(小,大,全屏),可忽略(真或假),而最重要的參數是我需要在此模式中顯示的組件。 我的問題是如何將完整的組件傳遞服務內部的方法。

您可以簡單地將組件類傳遞給您的服務:

service.openModal(component = AComponent, ...rest) {}

如果要將其作為字符串傳遞,則可以聲明服務中將使用哪些組件,並按名稱查找它們。 像這樣:

service.dynamicComponents = [AComponent, BComponent];

service.openModal(params = { component: 'AComponent' }) {
  const component = this.dynamicComponents
                        .find(o => o.constructor.name === params.component)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM