Sri*_*man 10 html typescript safe-navigation-operator angular
我已经使用安全导航操作员对象来加载异步调用,这是非常了不起的.我以为我可以为Arrays重现相同但它在我的Angular代码中显示模板解析错误.我知道*ngIf
是一种替代解决方案,但是有一种更简单(通过代码)的方式就像安全导航操作员一样吗?
<div class="mock">
<h5>{{data?.title}}</h5> //This works
<h6>{{data?.body}}</h6> //This works
<h6>{{simpleData?[0]}}</h6> // This is what I tried to implement
</div>
Run Code Online (Sandbox Code Playgroud)
是否像安全导航操作员一样更简单(通过代码)方式?
有三元运算符.
条件?expr1:expr2
<h6>{{simpleData?simpleData[0]:''}}</h6>
Run Code Online (Sandbox Code Playgroud)
当然,这是一个品味问题,但在这种情况下,我倾向于使用更短的方法:
<h6>{{(simpleData || [])[0]}}</h6>
Run Code Online (Sandbox Code Playgroud)
是否有类似 Safe Navigation Operator 之类的东西可以用于数组?
是的,您正在寻找的是所谓的Optional Chaining运算符(JavaScript / TypeScript)。
MDN JavaScript 文档中显示的语法是:
obj.val?.prop
obj.val?.[expr]
obj.arr?.[index]
obj.func?.(args)
Run Code Online (Sandbox Code Playgroud)
所以,为了实现你想要的,你需要改变你的例子:
<h6>{{simpleData?[0]}}</h6>
Run Code Online (Sandbox Code Playgroud)
到:
<h6>{{simpleData?.[0]}}</h6>
^
Run Code Online (Sandbox Code Playgroud)
另请参阅如何在 Typescript 中对数组使用可选链接?.
归档时间: |
|
查看次数: |
2344 次 |
最近记录: |