我想包装一个项目列表,但我希望能够灵活地提供一个独特的模板。
<list [items]="someItems">
<book-list-item><!-- Books, cars, dogs, whatever -->
</book-list-item><!-- This will contain a unique template -->
</list>
ListItemComponent
import { Component, Input } from '@angular/core';
@Component({
selector: 'list-item',
template: `
<div *ngFor="let item of items">
<ng-content></ng-content><!-- Whatever book-list-item contains -->
</div>`
})
export class ListItemComponent {
@Input() items: Array<any>;
}
BookListItemComponent
import { Component } from '@angular/core';
@Component({
selector: 'book-list-item',
template: `
<div class="row">
<div class="col-xs-6">Books</div>
<div class="col-xs-6">Rule</div>
</div>`
})
export class BookListItemComponent {}
显然,我将书籍作为项目传递,但这只是一个例子。我可以得到类似于这个工作的东西,但是&#34;书籍规则&#34;仅在最后一个list-group-item中打印出来(因为Bootstrap)。
我真的希望了解如何将通用组件传递给父组件,该组件将作为项列表中的项迭代通用组件。有人能指出我正确的方向吗?
答案 0 :(得分:0)
看看this article。它的功能与您的需求非常相似。你的主要挑战将是约束价值观。您还可以查看Ben Nadel's article。它与RC1有关,甚至他在评论中都提到setLocal不再存在,你需要传递上下文。