重複の可能性:
Backbone.js - 名前の変更中に変更がトリガーされない
バックボーンを学習する関数を作成しました...そのために、ローカルで「json」を作成し、それをフェッチ関数で呼び出しました。同様に、10秒ごとにフェッチ関数を呼び出し続けます。それとは別に、「ローカルjson」を手動で更新している間に、変更後にfetch
更新されたものを取得する必要がありますが、取得できません。
同様に、名前が変更されている間はトリガーする関数を追加しましたattribute
が、josnが名前を更新してもトリガーしません
これは両方とも私を混乱させます。これを学ぶための良いチュートリアルがありません...誰かがこれを整理するのを手伝ってくれるか、両方を達成する正しい方法を提案してくれますか?
コード:
(function($){
var list = {};
list.model = Backbone.Model.extend({
defaults:{
name:'need the name'
}
});
list.collect = Backbone.Collection.extend({
model:list.model,
url : 'data/names.json',
initialize:function(){
this.fetch();
this.keepUpdate();
},
keepUpdate:function(){
var that = this;
var updateData = function(){
that.fetch();
myTimeout = setTimeout(updateData,10000);
}
var myTimeout = setTimeout(updateData,10000);
}
});
list.view = Backbone.View.extend({
initialize:function(){
this.collection = new list.collect();
this.collection.on("reset", this.render, this);
this.collection.on('change:name',function(){ console.log('name changed')}); // not triggers while i change the name attrb..
},
render:function(){
_.each(this.collection.models, function(data){
console.log(data.get('name')); // no update getting here..
})
}
});
var newView = new list.view();
})(jQuery)