*在TypeScript代码中等效的ngIf

时间:2017-11-13 10:13:57

标签: angular typescript angular-ng-if

如何在TypeScript代码中检查组件属性是否未定义,例如在方法中?

在.html组件模板中,可以在显示html元素的条件下进行此类检查。如果它们不存在或尚未初始化,则避免显示。

<div *ngIf="exampleComponentProperty"></div>

是否可以在.ts中进行相同的检查?表达式看起来怎么样?

if (this.exampleComponentProperty != null) {
// some code...
}

似乎没有用。

3 个答案:

答案 0 :(得分:2)

你可以简单地写

if (this.exampleComponentProperty) {
// some code...
}

或者

if (this.exampleComponentProperty != undefined) {
// some code...
}

答案 1 :(得分:2)

如果显示此组件需要此属性,则应将其加载到解析程序中。 https://angular.io/guide/router#resolve-pre-fetching-component-data

答案 2 :(得分:1)

您可以尝试避免所有可能性的条件:

在TS:

if (this.exampleComponentProperty && this.exampleComponentProperty != undefined && this.exampleComponentProperty != null) {
    // write code...
}

在HTML中:

 <div *ngIf="exampleComponentProperty && exampleComponentProperty != undefined && exampleComponentProperty != null"></div>