【发布时间】:2015-11-29 11:27:08
【问题描述】:
TL;DR:
说明:
我正在使用 DynamicComponentLoader 的 loadIntoLocation() 函数动态创建 Angular 2 组件。
这个函数生成的组件的插入位置是由它的anchorName参数决定的,除了你传递一个
Template Variable Name(作为字符串)。
所以在示例中他们在模板中使用<div #child></div>,然后传递'child'。效果很好。
但是,与其将生成的组件链接到具有硬编码到模板中的变量名称的元素,我希望能够将它们附加到可变大小的列表中。
现在,NgFor 页面显示您可以访问索引变量:<li *ng-for="#item of items; #i = index">...</li>。因此,如果我可以分配列表项,例如在此索引上使用的模板变量名称等,即#child1、#child2 等,那么它会起作用。
所以我倾向于尝试将<div #{{foo}}></div> 与应用变量 foo 作为"child"。由于前端并未真正在 DOM 中显示这些模板变量名称,因此我在调试时遇到了麻烦,但似乎此动态分配失败,导致错误 "Could not find variable ..."。
可能有什么方法可以做我想做的事吗?或者甚至从浏览器查看分配的template variable names 进行调试?
【问题讨论】:
-
上面的两个链接都指向同一个不工作的例子 plunker
-
这里你有一个 example 使用 loadAsRoot 代替。
-
@GuenterGuckelsberger:现在修复它,谢谢。
标签: angular