javascript - 在 Angular 2 的字符串插值表达式中使用 Elvis 运算符

标签 javascript angular typescript string-interpolation

在我的 Angular 2 应用程序中,我使用字符串插值从 mongoDB 中提取数据。现在服务器/数据库在不断变化,所以有时会破坏我的客户端显示,因为例如,如果我通过字符串插值提取数据,如下所示:

{{record.addresses[0].zipCode}}

... 然后,稍后,数据在数据库中的组织方式发生变化,这将破坏我的显示 - 因为客户端正试图从不再存在的字段中拉入。所以我认为我应该能够在这样的用例中使用类似 elvis 运算符的东西。这样,如果数据在客户端查找的位置,它就会打印到屏幕上。但是,如果数据不在它要查找的位置,它将完全忽略该字段 - 不会破坏显示中的任何内容。

那么,简而言之,我将如何在上面的表达式上实现 elvis 运算符?

最佳答案

你可以这样使用它:

{{record?.addresses[0]?.zipCode}}

这将检查 record 是否定义,然后 addresses[0] 是否在 record object 下定义,以及那么如果 zipCode 是在该对象下定义的

关于javascript - 在 Angular 2 的字符串插值表达式中使用 Elvis 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41620320/

相关文章:

javascript - 在 WordPress 循环中使用 Jquery .next

angular - 如何使用 Angular Material 属性

javascript - Javascript 中的应用/调用方法 : What is the first arguments "this"?

angular - 如何使用 Typescript 在 Angular 2 中使用 Google 登录

angular - 如何将 jsPDF 与 angular 2 一起使用

typescript - 桶装进口似乎打破了装载顺序

arrays - ionic2 如何设置选项值 ="..."以保留数字 0,1,2,3,

angular - 如果可观察未完成,则共享订阅

javascript - typescript : Merge objects created by Object. 定义属性

javascript - 如何在 ASP MVC 页面中手动对 Kendo UI 网格进行排序?