AngularJS 1.x具有ngCloak指令,该指令用于防止浏览器以原始(未编译)形式简要显示Angular html模板。
Angular 2是否具有任何此类指令或功能来阻止此类原始(未编译)表单显示。
答案 0 :(得分:22)
Angular2 desn'有 ngCloak ,
相反,您可以使用?.
运算符(将其与对象一起使用)。
{{user?.name}}
和/或
你可以使用 * ngIf (截至目前)
<div *ngIf="name"> {{name}}</div>
答案 1 :(得分:4)
Angular2,Just-in-Time(JiT)和。中有两种类型的编辑 名列前茅的时间(AOT)。 Just-in-Time是默认编译。
JiT编译会导致运行时性能下降。由于浏览器内编译步骤,视图需要更长时间才能呈现。应用程序更大,因为它包含Angular编译器和应用程序实际上不需要的许多库代码。较大的应用程序传输时间较长,加载速度较慢。
使用AoT ,浏览器会下载应用程序的预编译版本。浏览器加载可执行代码,以便它可以立即呈现应用程序,而无需先等待编译应用程序。
如果我们使用Ahead-of-Time编译而不是Just-in-Time编译, 我们可以阻止这种原始(未编译)形式的显示。
This链接提供了更多信息
答案 2 :(得分:1)
您可以使用* ngIf阻止呈现html,直到加载相应的对象:
<div *ngIf="dataList">
<>....</>
</div>