我很难弄清楚如何最好地做到这一点。我有一个模型,它在其初始化方法中实例化了一些集合。实例化该模型后,我需要立即在其中一个集合中获取模型,但当时我尝试获取该模型似乎不可用,因此我最终得到了“未定义”。这就是我所拥有的:
var App = Backbone.Model.extend({
initialize: function() {
this.users = new Users();
}
});
app = new App();
someUser = app.users.get("someuserID"); // -> undefined
但如果我这样做:
var App = Backbone.Model.extend({
initialize: function() {
this.users = new Users();
}
});
app = new App();
setTimeout(function(){
someUser = app.users.get("someuserID"); // -> user instance
},3000);
我尝试将 a 添加this.trigger("loaded")
到 App 初始化方法,然后监听该事件,但该事件没有触发。像这样:
var App = Backbone.Model.extend({
initialize: function() {
this.users = new Users();
this.trigger("loaded");
}
});
app = new App();
app.on("trigger",function(){ // -> never actually triggers
someUser = app.users.get("someuserID");
});
有任何想法吗?
请注意,用户集合正在从一个 RESTful API 中正确获取用户。
谢谢,
路易斯