我知道在以前的角度版本中,猫王运算符在 *ngIf 语句中不起作用。但是,现在(Angular 6(它不再抛出错误。
这是一个有效的说法吗?
<div *ngIf="testobject?.sub?.subobj">
Hallo Test Test
</div>
而
testobj = {}
如果是这样,它是什么时候添加的?
据我所知,该声明必须如下:
<div *ngIf="testobject.sub && testobj.sub.subobj">
Hallo Test Test
</div>
有人可以澄清一下吗?
将代码翻译成简单的英语将是,如果testobject
不是null
,则获取sub
,如果sub
不是null
则获取subobj
如果testobject
和sub
和subob
j不为空,则输出Hallo Test Test
。所以是的,代码是有效的。
像这样更正确
<div *ngIf="testobject && testobject.sub && testobj.sub.subobj">
Hallo Test Test
</div>
说如果testobject
不是假的,那么去它的属性,名称sub
- 如果这也不是假的,去嵌套属性subobj
并访问其数据并在*ngIf
内部进行评估。如果某些条件是伪造的,请返回false
。