javascript - Backbone.js model.get() 返回 'undefined' 即使我可以在 console.log 中看到属性

标签 javascript backbone.js

我有一个模型实例,我在其上设置了另一个模型实例,即 model.set('rsvp', new App.Rsvp)

当我遍历集合以在 View 中生成它们的列表时,我在调用 model.rsvp.get('attending') 时得到 undefined

然而,当我执行 console.log(model.rsvp) 时,我得到了这个:

Rsvp
_changing: false
_escapedAttributes: Object
_moreChanges: false
_previousAttributes: Object
_setting: false
attributes: Object
    attending: true
    created_at: "2012-03-28T09:42:22-05:00"
    event_id: 20
    id: 12
    updated_at: "2012-03-28T09:42:22-05:00"
    user_id: 3
__proto__: Object
cid: "c53"
id: 12
__proto__: Rsvp

所以看起来对象没有问题,但 get 返回未定义。

我必须承认我的 Javascript 技能仍然很薄弱。我在这里缺少什么?

最佳答案

console.log( Object ) 可以欺骗您。它不会在调用 console.log 时向您显示 Object 的状态。

检查这个jsFiddle并打开控制台。您会看到 console.log 如何在脚本末尾向您显示 Object 的状态,而不是在 console.log 的那一刻> 打电话。

要获得更可靠的信息,请使用更简单的值调用 console.log

(在 OSX 上测试了 Chrome、Firefox 和 Safari)

阅读此内容以获取更多详细信息:Backbone.js Empty Array Attribute

关于javascript - Backbone.js model.get() 返回 'undefined' 即使我可以在 console.log 中看到属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9911637/

相关文章:

javascript - 如何将状态对象/数据传递给(异步)ajax 回调?

javascript - 主干 View 中的 Div id 持久性

javascript - Backbone - 在当前 View 上绑定(bind)和取消绑定(bind)事件

javascript - 将 SVG 路径雕刻成一个 Rect,留下一个 "hole"的 rect

php - Javascript lastIndex 正则表达式属性到 PHP 正则表达式

javascript - 下划线 bindAll,显式方法命名

backbone.js - 为集合创建主干 View

javascript - 主干 - Collection.add()/Collection.create() 之间的区别?

javascript - JS : Recursively calling a promise function

javascript - mapbox - 如何在多边形内生成随机坐标