如何有力地从商店中删除记录,并发现它再次
问题描述:
每当我的后端返回一个错误提示,我想:如何有力地从商店中删除记录,并发现它再次
- 丢弃的记录,因为它是在商店。我不在乎记录的状态,我只是想让它离开商店。
- 从后端再次请求。现在记录应该处于正常状态。
有没有可能这样做?我可以在becameError
吗?怎么样?
这是目前我的代码:
var entry = this.get('content');
this.transaction = this.get('store').transaction();
this.transaction.add(entry);
...
this.transaction.commit();
entry.on('becameError', this, function() { this.handleFailure(); });
而且handleFailure
:
handleFailure : function() {
console.error('handleFailure > ');
this.transaction.rollback();
this.goBack();
},
我可以做什么handleFailure
,使记录被遗忘,再次请求? 或者,作为替代,我怎么能清除任何标志的记录,这样我可以继续正常使用它,没有得到类似的问题:
Uncaught Error: Attempted to handle event `becomeDirty` on <SettingsApp.Scvoicemail:ember1027:08b8fc66-cd90-47a1-9053-4f6fefabdfe3> while in state root.error.
答
record.unload()
是做到这一点,但它不是直到1.0测试版推出,并且没有不必要的事务处理容易。
您使用的是什么版本的Ember-Data? ED 1.0.0-beta * –
目前还在使用v0.13-78-g9602df4 – dangonfast
13中有很多问题,我会比以后跳得更快,否则你会解决这些问题。 – Kingpin2k