angular - 不能在 Angular 中结合静态元素和获取 ElementRef
问题描述
我试图在ParentComponent中获取子组件的索引。我的ParentComponent结构是
<mat-toolbar>
<ng-container #buttonContainer>
<chameleon-ng-button [config]="buttonAdd"></chameleon-ng-button>
</ng-container>
</mat-toolbar>
<ng-template #tmpButton let-config>
<chameleon-ng-button [config]="config"></chameleon-ng-button>
</ng-template>
我像这样初始化buttonContainer
@ViewChild('buttonContainer', { read: ViewContainerRef, static: true })
protected buttonContainer: ViewContainerRef;
有了这个,我希望我可以拥有默认组件(buttonAdd)并可以使用动态加载其他按钮
const buttonTmp = this.tmpButton.createEmbeddedView({
$implicit: config,
});
this.buttonContainer.insert(buttonTmp);
找了一会儿,我还是不明白为什么我无法通过这种方式
获取我的ButtonAdd的索引this.buttonContainer.length
我得到的是空数组而不是 1。任何答案将不胜感激:)
解决方案
推荐阅读
- c++ - PyBind11:在 Python 中访问唯一的指针属性
- python - 如何从目标中删除字符溢出
- c++ - 从 getline 中取出垃圾
- python - 为什么枚举应该接受一个集合作为输入?
- c# - 如何检索选择一种类型的条目,该条目具有其他类型的条目?
- python-3.x - NotImplementedError:目前不支持具有未命名曲线的 ECDSA 证书
- http - 为什么我的 http 请求正文没有传输到服务器?
- python - 尝试使用 for 循环和附加列表将图像 URL 添加到列表以进行网络抓取
- sql-server - 与聚集主键在同一列上的非聚集索引应该是唯一的吗?
- javascript - 每天从 Google Cloud Firebase 存储分区中删除以 .png 结尾的文件