如何在TypeScript代码中检查组件属性是否未定义,例如在方法中?
在.html组件模板中,可以在显示html元素的条件下进行此类检查。如果它们不存在或尚未初始化,则避免显示。
<div *ngIf="exampleComponentProperty"></div>
是否可以在.ts中进行相同的检查?表达式看起来怎么样?
if (this.exampleComponentProperty != null) {
// some code...
}
似乎没有用。
答案 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>