我有一个json数组,可以包含我想要加载的组件的组件或html选择器 . 我试图在for循环中加载这些数据 . 当我尝试插入值{}时,它会显示为计划文字 . 当我使用下面的innerHTML方法并检查dom时,我看到那里的html,但它不像一个自定义组件(dom只包含而不是初始化它并用组件模板替换它) .
我看过动态内容加载器,但看起来不合适 . 这是for循环,因此不能使用模板语法,因此loadIntoLocation不适合我 . 如果组件有任何输入,也不确定它是如何工作的 .
<div *ngFor="#d of dtabs" class="tab-pane" id="tab-{{d.component}}">
<div [innerHTML]="d.html"></div>
</div>
2 回答
我也在寻找一种方法 . 我看到了@guyoung的答案并根据它 Build 了一些东西 . 但后来,我意识到
DynamicComponentLoader.loadIntoLocation()
在上一版本中不再存在,DynamicComponentLoader
已被弃用 .我阅读了一些文档和帖子,并创建了一个工作正常的新指令 . 查看:
Angular2动态渲染模板
完整代码:https://github.com/guyoung/GyPractice-Angular2Advanced/tree/master/apps/dynamically_render_template