Angular2在对象键名中使用Elvis运算符和斜杠

8

我在解析过程中遇到了问题,使用Elvis运算符得以解决,但如果我要解析包含正斜杠的键时,我无法使用Elvis运算符,因为我需要将该键放入方括号中。

如果键很简单,例如("firstname"),则可以正常工作。

{{ data?.record?.firstname }}

如果键值包含前向括号,例如 ( "name/first" ),则此方法无法正常工作。

{{ data?.record?['name/first']}}

如果我使用方括号,似乎无法使用 Elvis。

有什么变通方法吗?也许可以通过以下方式来避免在点符号中转义斜杠:

{{ data?.record?.name\\/first }}
2个回答

14

Elvis运算符仅适用于.,而不适用于其他解引用运算符,例如[]

作为一种解决方法,可以使用

{{ data?.record ? data.record['name/first'] : null}}

非常好用。很棒的技巧。谢谢Günter! - Milan Milanovic

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接