angular 2 ngIf 和 ngSwitch 用于简单登录

angular 2 ngIf and ngSwitch for simple login

如果 ngIffalse,则不会渲染整个 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