等待对象在主干中实例化
Waiting for an object to be instantiated in backbone
我很难弄清楚如何最好地做到这一点。我有一个模型,它在其初始化方法中实例化了一些集合。实例化该模型后,我需要立即在其中一个集合中获取一个模型,但在我尝试获取该模型时,它似乎不可用,因此我最终得到了"未定义"。这是我所拥有的:
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);
我尝试向 App 初始化方法添加this.trigger("loaded")
,然后侦听该事件,但该事件未触发。这样:
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");
});
有什么想法吗?
请注意,Users 集合正在从 restful API 正确获取用户。
谢谢
路易斯
当集合完成.fetch
时,它将根据主干文档触发一个reset
事件。您尚未在此处包含Users
类,但假设它只是一个集合而不是一个包装器,您将执行以下操作:
var App = Backbone.Model.extend({
initialize: function() {
this.users = new Users();
}
});
app = new App();
app.users.on('reset',function() { var someUser = app.users.get("someuserID"); });
相关文章:
- 在requirejs中共享实例化对象
- 在 Typescript 中实例化对象,遵循松散耦合
- 用javascript在实例方法中实例化对象
- ThreeJS:实例化对象会将其位置设置为零
- Javascript prototypíng 和实例化对象的“this”
- 如何在 JavaScript 中实例化对象链
- 存储对通讯簿应用的实例化对象的引用
- 我想在实例化对象时返回 false
- 将用户单击绑定到实例化对象
- 绑定到类外部按钮的公共属性与实例化对象时内部绑定的按钮的值不同
- 在Backbone,js中实例化对象与函数
- 我如何在JS中动态地要求模块、实例化对象和调用函数
- 如何实例化对象文字
- 不能在javascript (node.js)中实例化对象
- 在实例化对象(使用构造函数)时设置唯一的id
- 我'm困惑的地方,我将实例化对象在angular
- 实例化对象,而不是将它们存储在变量中
- 如何从惰性实例化对象继承
- 在JavaScript中按类型实例化对象
- 是否可以在jQuery/Javascript中存储非实例化对象的信息?