angular 2 ngIf 和 ngSwitch 用于简单登录
angular 2 ngIf and ngSwitch for simple login
如果 ngIf
为 false
,则不会渲染整个 html 块。 ngSwitch
的假个案也是这样吗?
我想让网页的某些元素在用户登录前不呈现。
关于性能的后续问题:
假设某个特定的 html 部分正在使用 ngFor
呈现超过 1000 个论坛主题的列表。如果该部分有ngIf == false
,加载速度会提高吗?这是否意味着只有当 ngIf
变为 true
时才会执行 ngFor
?
在Angular-1.5
如果条件不匹配,则相应 DOM 不会呈现。
请参阅 AngualrJS 文档。我不认为他们在 angular-2 中改变了这种行为。
如果用 *ngIf
包装 *ngFor
,那么当 *ngIf
表达式为 false
时,*ngFor
将不会呈现并且根本不会执行这肯定会提高性能。
修改 DOM 代价高昂,只应在必要时进行。
[hidden]="expression"
反之仍会更新DOM并渲染元素,只是display
属性设置为不显示元素。
*ngSwitch
与 *ngIf
类似,当分支条件为 false 时不会呈现或执行 *ngFor
。
如果 ngIf
为 false
,则不会渲染整个 html 块。 ngSwitch
的假个案也是这样吗?
我想让网页的某些元素在用户登录前不呈现。
关于性能的后续问题:
假设某个特定的 html 部分正在使用 ngFor
呈现超过 1000 个论坛主题的列表。如果该部分有ngIf == false
,加载速度会提高吗?这是否意味着只有当 ngIf
变为 true
时才会执行 ngFor
?
在Angular-1.5 如果条件不匹配,则相应 DOM 不会呈现。 请参阅 AngualrJS 文档。我不认为他们在 angular-2 中改变了这种行为。
如果用 *ngIf
包装 *ngFor
,那么当 *ngIf
表达式为 false
时,*ngFor
将不会呈现并且根本不会执行这肯定会提高性能。
修改 DOM 代价高昂,只应在必要时进行。
[hidden]="expression"
反之仍会更新DOM并渲染元素,只是display
属性设置为不显示元素。
*ngSwitch
与 *ngIf
类似,当分支条件为 false 时不会呈现或执行 *ngFor
。