2016-11-23 70 views
2

我有關於Angular 2內部DOM操作的「簡單」問題。 Angular 2是使用虛擬DOM,增量DOM還是什麼。我一直在遍尋互聯網,以瞭解Angular 2在內部使用DOM進行操作,但似乎無法找到它。適用於Angular 2的DOM操作

我明白他們是如何創建組件的,以及他們如何讓我們的開發人員使用我們想要的封裝策略。

我知道它使用區域來檢測應用更改的變化和可觀察性,但是他們是否提供了自己的內部DOM操作邏輯,還是他們在真正的DOM上操作?

React有虛擬dom,Ember使用微光,其他的框架使用增量dom。 Angular 2使用什麼?

TIA。

+1

你可以操縱與指令中的DOM中Angular2 https://angular.io/docs/ts/latest/guide/attribute-directives.html – tibbus

+0

嘿@tibbus感謝您的評論。我期待了解Angular 2如何在內部操縱DOM。 React使用虛擬DOM。 – btinoco

+0

看看[http://blog.thoughtram.io/angular/2015/06/29/shadow-dom-strategies-in-angular2.html] –

回答

1

每當我們創建一個組件,角把它的模板爲 shadowRoot,這是特定組件的陰影DOM。 這樣做,我們可以免費獲得DOM樹和樣式封裝,對吧? 但是如果我們在瀏覽器中沒有Shadow DOM呢?這是否意味着我們 不能在這些環境中使用Angular 2?我們可以。實際上,Angular 2 默認情況下不使用本機Shadow DOM,它使用仿真。在技​​術上正確爲 ,但在沒有使用本地Shadow DOM的情況下,它也不會爲我們的 組件創建shadowRoot

更多:http://blog.thoughtram.io/angular/2015/06/29/shadow-dom-strategies-in-angular2.html#understanding-shadow-dom

+0

感謝您的答案@manolis。請參閱React使用虛擬dom在內部操作dom。它對真實的虛擬世界和虛擬世界虛擬世界進行差異化,並修改已更改的節點。 Ember用Glimmer操縱dom。然後我們有增量dom來操縱其他框架中的dom。我想知道Angular 2使用什麼?像虛擬dom,微光,增量dom,原始dom或什麼? – btinoco