2016-01-25 65 views
2

我想以編程方式生成一個由多個不同的部件從一個JSON文件等構成報告:插入不同Angular2組件編程

{ 
    components: [UserStatsComponent, ActivityChartComponent, NetworkGraphComponent] 
} 

我發現這一點:Angular2: Creating child components programmatically 但我用例的不同之處,我需要代表不同類型的組件,所以我不能在我的模板中使用ngFor,因爲不是每個組件都有相同的指令。

我是Angular2的新手,所以我不知道如何處理這個問題:首先我想到了組件繼承,但是看起來像擴展組件類時不會繼承angular2註釋。不知道如何使用組合來解決這個問題。

聽說過有關內容標記的內容,但並不真正知道它是否與此用例相關。

tldr;我如何從數組中動態插入不同的組件?

+0

蘇pregunta沒有上課克拉拉...它造成混亂。你能讓它變得更好嗎? – micronyks

+0

tldr;我如何從數組中動態插入不同的組件? –

+0

你想通過json對象循環,並想要使動態組件遇到? – micronyks

回答

2

要插入組件動態使用DynamicComponentLoader

@Component({ 
    selector: 'child-component', 
    template: 'Child' 
}) 
class ChildComponent { 
} 
@Component({ 
    selector: 'my-app', 
    template: 'Parent (<child id="child"></child>)' 
}) 
class MyApp { 
    constructor(dcl: DynamicComponentLoader, injector: Injector) { 
    dcl.loadAsRoot(ChildComponent, '#child', injector); 
    } 
}