如果class List{
//...
template<typename value_type>
value_type get();
}
//...
template<typename value_type>
value_type List::get(){
//...
}
为ngIf
,则不会呈现整个html块。对false
我希望除非用户登录,否则不会呈现网页的某些元素。
关于表现的后续问题:
假设一个特定的html部分使用ngSwitch
呈现超过1000个论坛帖子的列表。如果该部分有ngFor
,那么加载速度会提高吗?是否仅在ngIf == false
成为ngFor
后才会执行ngIf
?
答案 0 :(得分:3)
如果您使用*ngFor
打包*ngIf
,那么当*ngFor
表达式为*ngIf
时,false
不会呈现并且根本不会执行这肯定会提高性能。
修改DOM很昂贵,只应在必要时进行。
[hidden]="expression"
仍会更新DOM并呈现元素,只有display
属性设置为不显示元素。
*ngSwitch
的工作方式类似于*ngIf
,当分支条件为false时,不会渲染或执行*ngFor
。
答案 1 :(得分:0)
在Angular-1.5中 如果条件不匹配,则不会渲染相应的DOM。 请参阅AngualrJS文档。我不认为他们在angular-2中改变了这种行为。