【问题标题】:javascript console.log displays different values on same objectjavascript console.log 在同一个对象上显示不同的值
【发布时间】:2013-05-10 09:02:03
【问题描述】:

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

有什么提示吗?

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

【问题讨论】:

  • usign console.dir() 是一样的

标签: javascript angularjs console.log


【解决方案1】:

我猜你的 HTML 是这样的

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

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

【讨论】:

  • 太棒了!这正是我所做的,你的解释非常适合。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-11
  • 1970-01-01
  • 1970-01-01
  • 2020-03-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多