2017-03-25 37 views
2

在Angular中,默認模式是 encapsulation: ViewEncapsulation.EmulatedAngular:爲什麼我應該使用'封裝:ViewEncapsulation.Native'?

此模式通過使用CSS選擇器啓用樣式封裝。然而,'封裝:ViewEncapsulation.Native'也實現了樣式封裝,但是使用另一種技術 - 影子DOM。技術不同,結果是一樣的。

如果是這樣,爲什麼我應該使用「ViewEncapsulation.Native」?我沒有在「ViewEncapsulation.Emulated」中獲得這種模式,我得到了什麼?

回答

2

使用「Native」封裝,您可以獲得新的Shadow DOM規範提供的所有功能。

This blog article解釋了Angular2中不同模式之間的差異。

因爲仿真模仿本機模式,所以您將獲得可仿效的所有功能

什麼不能被模仿是真正 CSS封裝(與!important指令的規則可以應用到你的仿真的組件),而且僅限選擇(與querySelector()的幫助)。

使用本機模式,渲染速度應該更快(因爲它是...本機!)。

相關問題