在我的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/

10-11 11:36