2016-11-23 3 views
2

У меня есть «простой» вопрос о двумерных внутренних манипуляциях с DOM. Угловой 2 с использованием виртуальной DOM, инкрементальной DOM или что. Я смотрю по всему Интернету, чтобы понять, что Angular 2 использует для DOM-манипуляции внутри, но я не могу найти его.DOM-манипуляция для углового 2

Я понимаю, как они создают компоненты и как они позволяют нам разработчикам использовать стратегию инкапсуляции, которую мы хотели бы.

Я понимаю, что он использует зоны для обнаружения изменений и наблюдаемых для применения изменений, но придумал ли они свою собственную логику для внутренних манипуляций с DOM или они манипулируют реальным DOM?

React имеет виртуальный дом, Ember использует мерцание, другие фреймворки используют инкрементный dom. Что делает Угловая 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, он использует эмуляцию. Чтобы быть технически корректным, он также не создает для наших компонентов в случае, если не используется собственная теневая DOM.

Подробнее: http://blog.thoughtram.io/angular/2015/06/29/shadow-dom-strategies-in-angular2.html#understanding-shadow-dom

+0

Спасибо за ответ @manolis. См. «Реакт» использует виртуальный дом для управления внутренним элементом. Он выполняет различие в реальном dom vs virtual dom и исправляет измененный узел. Эмбер манипулирует домиком с Глиммером. Тогда у нас есть инкрементный dom, чтобы манипулировать dom в других рамках. Я хочу знать, что использует Angular 2? Что-то вроде виртуального домика, мерцания, инкрементального домика, сырья или чего? – btinoco

Смежные вопросы