我知道如果我有像product.id == 1这样的东西?东西:不是东西.这意味着如果id = 1,则选择"stuff".如果没有,那么选择"不是东西".以下是什么意思:
product?.id.name
Run Code Online (Sandbox Code Playgroud)
Saj*_*ran 14
? 意味着安全 navigation operator
从 Docs
Angular安全导航操作符(?.)是一种流畅且方便的方法,可以防止属性路径中的null和undefined值.如果currentHero为null,则保护视图呈现失败.
这特别意味着如果绑定到视图的值为null,那么它应该返回null,否则返回实际值,这样在渲染模板时就不会出现任何问题.
在上面提供的示例代码中,
product?.id.name
它检查生成对象是否存在,然后检查是否有id.既然你没有 ?身份证.it will throw an error "cannot read property of 'name' undefined".
yur*_*zui 13
字面意思是:
((product == null) ? null: product.id.name)
Run Code Online (Sandbox Code Playgroud)
因此,如果product为null,则返回null否则返回整个值.
如果我们有:
product?.id?.name
Run Code Online (Sandbox Code Playgroud)
那么我们应该期待类似的东西:
((product == null) ? null: ((product.id == null) ? null: product.id.name))
Run Code Online (Sandbox Code Playgroud)
如果你有疑问那么你可以随时检查角度编译后的样子:
有关详细信息,请参阅文档:
| 归档时间: |
|
| 查看次数: |
3278 次 |
| 最近记录: |