【发布时间】:2017-07-28 01:50:20
【问题描述】:
我想访问 ng-content 的内容,一开始只是为了获取内容元素的数量,但以后会更棒。
例如:
@Component({
selector: 'my-container',
template: `
<div class="my-container">
<div class="my-container-nav"><a class="my-container-previous"></a></div>
<div class="my-container-body">
<div class="my-container-items">
<ng-content></ng-content>
</div>
</div>
<div class="my-container-nav"><a class="my-container-next"></a></div>
</div>
`
})
export class MyContainer implements AfterContentInit {
@ContentChildren(???) containerItems : QueryList<???>;
ngAfterContentInit() {
console.log('after content init: ' + this.containerItems.length);
}
}
我将什么作为内容子项的类型?
它们可以是任何东西。我尝试了 ElementRef,但没有奏效,而且总是计数为零。
使用示例:
<my-container>
<div>some content here</div>
<another-component [title]="'another component there'"></another-component>
<div>there's lots of content everywhere</div>
<span>no assumptions would be fair</span>
</my-container>
我希望看到“内容初始化后:4”。
【问题讨论】:
-
是您控制的子 Angular2 组件(即您想访问组件实例)吗?还是只是纯 HTML?
-
Sjoerd,可能是混合的。我期望随机 html,但我也期望组件。当它们是组件时,它们将具有不同的类型。
标签: angular