我正在尝试使用角度组件替换功能。
<ul>
<li></li>
<li class="com"></li>
<li class="com"></li>
</ul>
对于复杂的界面,如果我想让中间.com
&#34; li&#34;进入一个全新的组件,并编写如下代码:
<ul>
<li></li>
<com-component></com-component>
</ul>
如何确保最终编译的html
与原始html
模板完全相同?
就我从有角度docs搜索而言,这是不可能的。
在angularjs
中,有replacement
功能。对于&#34;编译&#34;角度框架,这有点令人不快,没有这个。
答案 0 :(得分:0)
当您希望样式从父组件渗透到子组件时,您需要使用View Encapsulation。
ViewEncapsulation.None - 根本没有Shadow DOM。因此,也没有 风格封装。 ViewEncapsulation.Emulated - 没有Shadow DOM但是 样式封装仿真。 ViewEncapsulation.Native - Native 暗影DOM完美无缺。
答案 1 :(得分:0)
您可以在com-component
。
@Component({
...
selector: '[com-component]'
})
然后,在模板中,只需将com-component
作为属性添加到li元素,而不是将其添加为新标记。
<ul>
<li></li>
<li com-component></li>
</ul>