Почему рендеринг универсального сервера 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-инкапсуляции.

Другие вопросы по тегам