我有两个组件,ComponentA使用ComponentB。 ComponentB是一个表,可以检索数据,选项和定义表内容的模板。 我希望ComponentB成为一个组件来呈现不同的表。我不知道如何在Angular2 v2.1.0中渲染模板。我发现像DynamicComponentLoader和ComponentResolver这样的东西都已经过时了。 Angular2 2.1.0提供哪些组件来渲染模板?
ComponentA:
@Component({
'template':<my-table [template]="template" [options]="options" [data]="data"></mytable>
)}
export class ViewA{
template:string;
ngOnInit(){
this.template = `
<tr
*ngFor="let item of items">
<td>{{item.name}}</td>
</tr>
`
}
}
以componentB:
@Component({
selector: 'my-table',
'template':`
<table>
<thead>
<th *ngFor="let conf of config.columns">
{{conf.title}}
</th>
</thead>
<tbody #tBody>
</tbody>
</table>
`
)}
export class ViewB{
@Input('template') template:string;
@Input('data') data:MyData;
@Input('options') options:MyOptions;
constructor(){
//todo: create template element, append template element into the tbody element
}
} }
答案 0 :(得分:2)
我刚看过Rob Wormald关于这个主题的视频。它有点长,但很好地了解如何自己做这件事。