Почему рендеринг универсального сервера Angular 2 имеет угловой динамический атрибут?
Я пытаюсь понять поведение универсального рендеринга на стороне сервера.
Я смотрю проект https://github.com/angular/universal-starter/tree/angular-connect.
Мое первое понимание состояло в том, что версия на стороне сервера должна быть свободна от всех динамических атрибутов html, генерируемых угловыми, а затем угловыми нагрузками и устанавливать свой динамический атрибут так, как он хочет, но прозрачно для меня.
Действительно, я наблюдаю, что сгенерированный индекс на стороне сервера напрямую "аннотирован под углом". Например:
<app _ngcontent-wwg-34="">
(Имя атрибута не является константой).
Правильно ли я думаю, что этот атрибут генерируется на стороне сервера (nodejs)?
В чем полезность этого атрибута?
Как это используется на стороне клиента?
Моя конечная цель - использовать Java-сервер (без nodejs). Должен ли я следовать какой-то стратегии, чтобы генерировать атрибуты такого типа и поддерживать их в сеансе или что-то в этом роде?
Спасибо за прочтение!
1 ответ
Имя атрибута не является константой
Я не знаю, что ты имеешь в виду под этим. Каждый компонент получает свое имя атрибута. Они уникальны для каждого типа компонента. Имя атрибута не должно меняться для одного и того же типа компонента между перезагрузками.
_ngcontent-wwg-34=""
Каждый компонент получает такой атрибут с добавленными уникальными именами, а для CSS, добавляемого к компонентам, селекторы переписываются, чтобы соответствовать только этим атрибутам. Это используется для эмуляции теневой DOM-инкапсуляции.