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