在Angular中,默认模式为
encapsulation: ViewEncapsulation.Emulated
此模式使用CSS选择器启用样式封装。但是,'encapsulation:ViewEncapsulation.Native'也实现了样式封装,但是使用了另一种技术shadow DOM。虽然技术不同,但结果是相同的。
如果是这样,我为什么要使用“ViewEncapsulation.Native”?在“ViewEncapsulation.Emulated”中我没有进入这种模式会得到什么?
答案 0 :(得分:2)
使用“Native”封装,您可以获得新的Shadow DOM规范提供的所有功能。
This blog article解释了Angular2中不同模式之间的差异。
由于Emulated模仿了Native模式,因此您将获得可以模拟的所有功能。
无法模拟的是真正的 CSS封装(带有!important
指令的规则可以应用于您的仿真组件)和范围选择(借助querySelector()
})。
使用Native模式,渲染应该更快(因为它是......本机!)。