如果 angular 2 模板中未定义对象,检查对象 属性 的正确方法是什么?

What is the correct way to check object's property if object not undefined in angular 2 template?

当在 angular 2 模板中未定义时,我对使用两种不同的方法来检查对象的长度 属性 感到困惑。

方法一:

<div *ngIf="obj && obj.length">
    <!--Some code-->
</div>

方法二:

<div *ngIf="obj?.length">
    <!--Some code-->
</div>

这两种代码都有效,但我的问题是,如果我选择方法 2 而不是方法 1,是否会出现任何问题?

两者的作用相同,而第二个是前一个代码的缩小版本。

您可以使用它来检查 f 变量是否不为空且未定义

if (obj) {}

我认为第一个方法是

more :

作为 .length 初始对象可能未定义

`*ngIf="obj`