Javascript 无法读取属性';MyProperty';未定义的
在我的Angular2模板中,我有以下绑定:Javascript 无法读取属性';MyProperty';未定义的,javascript,json,angular,Javascript,Json,Angular,在我的Angular2模板中,我有以下绑定: {{Stringify(result)}} {{result.MyProperty}} Stringify是一个返回输入对象的JSON.Stringify的函数。Stringify函数返回一个JSON字符串,显示MyProperty的名称和值 但是,第二行返回一个 打字错误。无法读取{{result.MyProperty}中未定义的属性“MyProperty” JSON.stringify清楚地表明这个属性/字段存在,那么为什么我会得到一个错误?如
{{Stringify(result)}}
{{result.MyProperty}}
Stringify
是一个返回输入对象的JSON.Stringify
的函数。Stringify
函数返回一个JSON字符串,显示MyProperty
的名称和值
但是,第二行返回一个
打字错误。无法读取{{result.MyProperty}中未定义的属性“MyProperty”
JSON.stringify
清楚地表明这个属性/字段存在,那么为什么我会得到一个错误?如果它在那里,它可以被访问,JS不会抛出
试试看
{{result?.MyProperty}}
可能Angular试图访问结果。在结果
之前,MyProperty
有一个值,而字符串化(结果)
不会阻塞空
。
当同时更新result
时(可能是因为从服务器收到了值,视图将在您能够识别之前显示了空字符串之前进行更新。你的问题没有提供足够的背景知识 另见
- (来自下面的评论-感谢@MarkRajcok)
空
或未定义
,则不计算后面的表达式,而是返回空
。谢谢。这是一个非常方便的功能e、 @kennasoft,提供的github链接gunter是一个很好的读物。如果您想要Angular.io doc链接,Elvis操作符将在模板语法doc一节中讨论。