【发布时间】:2015-01-05 12:06:19
【问题描述】:
我正在使用 ember 1.8.1 和 ember-data beta 12
如果我执行 createRecord 并且用户选择不保存它,那么在我尝试执行 model.destroyRecord() 的路由停用时,它仍然可以在我的本地商店中使用 currentState.stateName: root。已删除。保存
我似乎无法从本地商店中删除它,我不知道为什么。为什么记录的 stateName 为 root.deleted.saved 并且在我执行 store.find 时仍然可用?
编辑: 我不知道这是否重要,但是在取消并销毁记录(或尝试销毁记录)之后,我最终到达了一个使用 each 和 itemController 的位置。我认为,我的怪异是从它的介绍开始的。
// new/route.js (using ember-cli pods)
deactivate: function() {
this._super();
// if we navigated away without saving the model we should remove it
// so we don't have 'unsaved' items displayed anywhere
var model = this.controller.get('model');
if(model.get('isDirty')) {
model.deleteRecord(); // Updated based on MrVinz suggestion below
}
}
我们过渡到的模板
<table class="table table-striped">
<thead>
<tr>
...
</tr>
</thead>
<tbody>
{{#each item in filteredItems itemController="cons"}}
... (my unsaved items are showing up in here, and they should have been deleted) ...
{{/each}}
</tbody>
</table>
【问题讨论】:
-
您能详细说明您遇到的工作流程和问题吗?您确定您对服务器的调用不会再次返回记录吗?
-
能否请您向我们展示您正在转换到的模型/setupController 的最小/恢复实现,并可能向我们展示您如何声明/获取您的过滤项目 :)
标签: ember.js ember-data