У угловых2 есть ngCloak

У AngularJS 1.x есть директива ngCloak, которая используется для того, чтобы браузер Angular html не отображался кратковременно в браузере в его необработанной (не скомпилированной) форме.

У Углового 2 есть такая директива или функциональность, чтобы предотвратить появление такого необработанного (несвязанного) отображения формы.

Ответ 1

Angular2 desn 'имеют ngCloak,

вместо этого вы можете использовать ?. оператор (используйте его с объектом).

{{user?.name}}

И/ИЛИ

вы можете использовать * ngIf (на данный момент)

<div *ngIf="name"> {{name}}</div>

Ответ 2

Существует два типа компиляций в Angular2, Just-in-Time (JiT) и Ahead-времени (AoT). Компиляция по умолчанию "Just-in-Time".

Компиляция JiT приводит к снижению производительности во время выполнения. Длительность визуализации занимает больше времени из-за этапа компиляции в браузере. Приложение больше, потому что оно включает в себя компилятор Angular и много кода библиотеки, который на самом деле не нужен. Большие приложения занимают больше времени для передачи и медленнее загружаются.

С помощью AoT браузер загружает предварительно скомпилированную версию приложения. Браузер загружает исполняемый код, чтобы он мог визуализировать приложение немедленно, не дожидаясь компиляции приложения в первую очередь.

Если мы перейдем к компиляции Ahead-of-Time вместо компиляции Just-in-Time, мы можем предотвратить такую сырую (несвязанную) форму отображения.

Эта ссылка содержит дополнительную информацию

Ответ 3

Вы можете предотвратить рендеринг html с помощью * ngIf, пока не будет загружен соответствующий объект:

<div *ngIf="dataList">
<>....</>
</div>