查看此代码,这是我的模型:
App.Partita = DS.Model.extend({
data: DS.attr('string'),
ora: DS.attr('string'),
evento: DS.attr('string'),
segno: DS.attr('string'),
quota: DS.attr('number'),
vinto: DS.attr('boolean', false),
giocata: DS.attr('number'),
vincita: DS.attr('number'),
cassa: DS.attr('number'),
remove: DS.attr('boolean', false),
remover: function () {
this.deleteRecord();
this.save();
}.observes('remove', true),
vintoChange: function () {
console.log(this);
console.log(this.get('isDirty'));
if(!this.get('isDirty'))
this.save();
}.observes('vinto')
});
我正在使用localstorage适配器获取数据:
App.LSAdapter = DS.LSAdapter.extend({
namespace: 'app_namespace'
});
App.ApplicationAdapter = DS.LSAdapter;
我不知道为什么但是当触发函数“vintoChange”时,我总是得到数据是脏的,即使它之前已经保存了
.get('model').save();
有人可以解释一下吗?
答案 0 :(得分:0)
你确定它在节省吗?您实际上并未验证它已保存。我敢打赌服务器端你对发送的数据感到满意,但是客户端的ember数据对从服务器返回的数据造成了错误。
var savePromise = this.save();
savePromise.then(
function(){ alert('saved'); },
function(){ alert('failed to save'); }
);