我的简化目标是构建一个包含项目模板的列表的组件.例如.:
<list>item</list>
这是我的代码:
import {bootstrap} from 'angular2/platform/browser'; import {Component} from 'angular2/core'; @Component({ selector: 'list',template: ` <ul> <li *ngFor="let i of items" > <ng-content></ng-content> </li> </ul> ` }) class List { items = [1,2,3]; } @Component({ selector: 'app',directives: [List],template: '<list>item</list>' }) class App { } bootstrap(App,[]);
预期结果:
>项目
>项目
>项目
实际结果:
•
•
•项目
我找到了3种方法
@Component({ selector: 'dynamic-list',template: '<div *ngFor="#item of items" *ngForTemplate="itemTemplate"></div>' }) export class DynamicListComponent { @ContentChild(TemplateRef) public itemTemplate: TemplateRef; @input() public items: number[]; } <dynamic-list [items]="items"> <div template="#item"> Inline template item #: {{item}} </div> </dynamic-list>
输出:
Inline template item #: 1 Inline template item #: 2 Inline template item #: 3 Inline template item #: 4
广告牌:https://plnkr.co/edit/ollxzUhka77wIXrJGA9t?p=preview
看更多https://github.com/ilio/ng2-dynamic-components/blob/master/README.md
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。