在我的Angular2模板中,我具有以下绑定:
{{Stringify(result)}}
{{result.MyProperty}}
Stringify
是返回输入对象的JSON.stringify
的函数。 Stringify
函数返回一个JSON字符串,该字符串显示MyProperty
的名称和值。但是,第二行返回一个
TypeError。无法读取{{result.MyProperty}}中未定义的属性“ MyProperty”。
JSON.stringify
清楚地表明此属性/字段存在,那么为什么会出现错误? 最佳答案
如果在那儿可以访问并且JS不会抛出
试试吧
{{result?.MyProperty}}
也许Angular会尝试在
result.MyProperty
具有值之前访问result
,而Stringify(result)
不会阻塞null
。同时更新
result
时(可能是因为已从服务器接收到该值,该视图将更新,然后您才能识别出之前显示了空字符串。您的问题没有提供足够的背景知识。
也可以看看
https://github.com/angular/angular/issues/791
https://angular.io/docs/ts/latest/guide/template-syntax.html#!#expression-operators(来自下面的评论-感谢@MarkRajcok)
关于javascript - 无法读取未定义的属性“MyProperty”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35717850/