【发布时间】:2017-02-08 05:35:57
【问题描述】:
在 Angular2 中,假设我想有条件地显示一个 <div> 块。以下两种方式有什么区别。
<div [hidden]=isLoaded>Hello World!</div>其中isLoaded是对应.ts文件中的布尔值。<div *ngIf=isLoaded>Hello World!</div>
我知道即使<div> 没有显示在页面中,1. 在 DOM 中仍然有 <div>,而 2. 没有。还有其他区别吗?它们各自的优缺点是什么?
【问题讨论】:
-
鉴于您已经知道其中的区别,您真正想知道什么?
-
这就是区别.. 让我们考虑一下这种情况,您有 100 个城市的下拉列表。 =>一旦您单击下拉列表就会显示您的列表,因为它已经在 DOM 上,而在其他情况下,城市列表将在 DOM 上创建然后显示,因此在这种情况下,它将出现在一定的延迟。取决于你想如何使用它。
-
@jonrsharpe 我不确定是否还有其他差异,并想了解首选哪种方式。对了,我也不知道什么是[class.hidden],你为什么把它从问题中去掉?
-
@GünterZöchbauer 您的链接答案正是我想要的,谢谢~