これを行う最善の方法を理解するのに苦労しています。初期化メソッドでいくつかのコレクションをインスタンス化するモデルがあります。そのモデルをインスタンス化した直後に、これらのコレクションのいずれかでモデルを取得する必要がありますが、そのモデルを取得しようとすると、そのモデルが利用できないように見えるため、代わりに「未定義」になります。これは私が持っているものです:
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);
アプリの初期化メソッドにを追加して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 コレクションは、安静な API からユーザーを正しく取得していることに注意してください。
ありがとうございました、
ルイス