2013-05-15 38 views
1

我正在使用AngularJS应用程序。当我console.log一个对象(指令链接函数的attrs参数)时,浏览器显示参数“editable”的不一致结果(见图)。在Chrome中,该属性被视为“zzz”和未定义(请参阅第5行vs第1行)。在Safari中,输出显示不同,但在console.log(object)上,“editable”属性显示为“zzz”,而在console.log(object.editable)上,该属性未定义。javascript console.log在同一对象上显示不同的值

任何提示?

我认为这个问题涉及到:console.log() showing contradictory values for the same object property

console bug?

+0

usign console.dir()是一样的 –

回答

3

我会想你的HTML是这样的

<div my-directive editable="{{someScopeProperty}}"...></div> 

和您呼叫您的链接功能console.log() 。链接函数运行时,内插属性尚未定义(您需要使用$observe$watch异步获取内插值),因此如果尝试记录该值,则会得到undefined。不久之后,该值被定义,并且Chrome似乎在您记录完整对象(而不仅仅是单个值)的控制台中自动更新该值(我认为这真的是一个参考)。

+0

太棒了!这正是我所做的,你的解释完全适合。 –

相关问题