2014-03-06 36 views
1

下劃線_.isEqual調用用於確定模型的屬性是否在Backbone.Model :: set中更改。 _.isEqual默認會對對象進行深度比較,但我們打算將複雜對象存儲在屬性中,例如其他骨幹模型。模型之間的深入檢查總是會失敗,因爲內部ID等方面存在差異......Backbone.js Model :: set自定義比較

在這種情況下,如果可以定義自定義比較器,將會很有幫助。例如,如果我只想比較子模型的屬性而不是所有的屬性,我可以爲基礎對象創建一個「比較」靜態方法,而Backbone.set會將其傳遞給_.isEqual。

有沒有辦法處理這種情況?

+2

這可能有助於http://stackoverflow.com/questions/20352846/change-event-triggering-on-momentjs-object/20356272#20356272,但意味着你可以重寫'model.set' – nikoshr

+0

良好的鏈接,我們正在走這條路,但希望有一種方法可以避免這種情況。 – stakolee

回答

0

,你可以簡單地覆蓋比較法爲你的App

+0

覆寫Backbone.Model :: set和/或_.isEqual?該團隊正在沿着這條道路前進,但我擔心的是,只要Backbone更新,我們就不得不繼續編寫補丁程序。這是一個沉重的方法,並沒有太多的地方插入這種調整 – stakolee