我試圖寫Jaydata一個簡單的CRUD功能的操作,我寫了更新操作這個簡單的代碼:更新和刪除Jaydata
SampleClass.prototype.Load = function(input1,callback)
{
var param='it.Name=="'+input1+'"';
this.data.items.filter(param).forEach(function(ii)
{
callback(ii);
});
this.data.items.saveChanges();
};
所以當我打電話:
t.Load('Entry4',function(res){console.log(res.Name)})
它就像一個魅力!但如果我呼叫更新操作回撥如:
t.Load('Entry4',function(res){res.Name="Entry5"})
它不會更改數據庫中的任何內容。我已經看到類似http://jaydata.org/examples/JayDataPro/ToDoList_complex的beginTransaction函數,但我無法理解它的本質。
的非關鍵屬性請澄清:你不能使用這個和res,他們沒有一起定義。 我用t.data.items.attach(res);在更改結果之前和之後,我也嘗試創建一個臨時變量並附加它。沒有用。 – AutomaticHourglass 2013-05-03 06:33:44
嗨! '這'是一件棘手的事情,你並不需要它,所以你最好避免它。正如羅伯茲告訴你的那樣,在開始改變屬性之前,你需要連接,以便JayData可以跟蹤這些變化。另一種解決方案是使用我們的其他api,因此將第二個回調函數更改爲: t.Load('Entry4',function(res){res.Name =「Entry5」; res.save();}) – 2013-05-03 07:08:30