-1

重複の可能性:
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)
4

0 に答える 0