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

Mui*_*rik 5 javascript string-interpolation typescript angular

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

{{record.addresses[0].zipCode}}
Run Code Online (Sandbox Code Playgroud)

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

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

eko*_*eko 5

你像这样使用它:

{{record?.addresses[0]?.zipCode}}
Run Code Online (Sandbox Code Playgroud)

这将检查是否record已定义,然后是否在该对象addresses[0]下定义record object,然后是否zipCode在该对象下定义