2013-09-26 83 views
0

我有一個場景,我想發送更新到服務器,但我不希望響應b/c這是一個代價高昂的操作。我試圖修補url以獲得一個額外的查詢字符串參數,如「nothing = true」,但我努力使這項工作可靠。骨幹保存沒有同步

@save({columns: columns}) 

你會怎麼做?

回答

1

您可以覆蓋模型的save操作,添加自定義標誌:

var MyModel = Backbone.Model.extend({ 
    // customizations... 

    // override save 
    save: function(key, value, options) { 
     if (options.ignoreResponse) { // conditionally ignore the server response 
      options = _.extend(options || {}, { 
       attrs: _.extend(myModel.toJSON(), { 
        // Add custom property 
        'respondWith': 'nothing' 
       }) 
      }); 
     } 
     return Backbone.Model.prototype.save.apply(this, [key, value, options]); 
    } 
}); 
+0

我在想這樣的事情,但該模型仍然存在比變化較長,有時,保存將需要標準的保存方法。我最終更改了url以將nothing = true添加到結尾,然後在方法中的保存操作之後將其更改回來。這似乎有點貧民窟,但我還沒有發現任何更優雅的東西。 – brandonhilkert

+0

我認爲任何解決這個問題的辦法都是有點貧民窟。 :)我修改了上述代碼,以有條件地忽略服務器響應。 –