基本上我想获取JSON文件并将其存储在模型中。但是,当我尝试通过get()
访问属性时,它返回undefined。所以可以说JSON文件有一个由具有一些属性的对象组成的数组游戏。它并不重要。只是想将它们保存在模型中并访问它们。所以我正在做这样的事情。Backbone.js fetch()JSON模型get()回归undefined
var player = Backbone.Model.extend({
initialize: function(app, options) {
this.app = app;
var _this = this;
this.fetch({
url: "someurl",
success: function() {
console.log("success");
}
});
}
});
var instplayer = new player();
instplayer.on('change', function(){
console.log(model);
console.log(model.get(games));
})
所以我想,我需要一个事件来确保当数据真的可用get()
被调用。但是这仍然返回undefined。我需要做什么?谢谢。
你的意思是你取的球员,而且也多维数据,包含游戏吗?是这样的: '{username:“joe”,games:[{title:“Game One”},{title:“Game Two”}}}' 然后你只想访问'games'属性, 是对的吗? – Yura
是的,这是正确的。只要我能从JSON数据中获取任何东西。我的意思是当我通过console.log查看对象时看到数据,但get()只是简单地返回undefined。当然,我可以毫无问题地返回带有默认选项的模型的一些值。 – riasc
在确定你将'.get'方法传递给''model.get(“games”)'的引号后,我还建议使用'sync'事件而不是'change'。当内容来自服务器时,'sync'将确保触发。 “change”会触发对该模型数据的任何更改,这可能比您想要的更频繁。 – Yura