2013-10-17 55 views
0

我有什麼:X-編輯和骨幹模型previousAttributes()

我有X-編輯彈出,應檢查輸入參數與驗證方法的幫助下

$(".vacancy-edit-select-status").editable({ 
    value: $this.model.get('value').id, 
    source: source, 
    validate: function(value) { 
     $this.model.previousAttributes(); //UNDEFINED!!! 
     //....    
    }, 
    success: function (response, newValue) { 
     $this.model.set('value', newValue); 
    } 
}); 

什麼一個問題:

內部驗證方法pre viousAttributes()方法返回'未定義'。 (我已經改變了之前改變X編輯彈出的一些變量模型屬性,所以歷史不應該是空的)

問:

我怎樣才能訪問模型歷史從驗證方法?

回答

1

previousAttributes期間set填充的previousAttributes人口前validate電話 - reference

0

答案很簡單,也許不是來自我的問題很清楚:

骨幹克隆模型狀態只更改事件

而且,當你有一個集合作爲模型屬性也有一些細微差別與previousAttributes。例如,要將屬性更改寫入歷史記錄您必須重寫整個屬性。我的意思是

this.model.get('myCommentsCollection').push('newComment'); //DOESN'T WRITE ANYTHING TO previousAttributes 

所以寫的東西model.previousAttributes你應該做的:

var comments = _.clone(this.model.get("comments")); 
this.model.set('myCommentsCollection', comments);