用户取消编辑操作时的ember rollback属性

时间:2018-06-12 15:59:12

标签: ember.js ember-data

我有一个应用程序,用户可以在其中编辑产品并进行一些更改。当用户单击编辑按钮时,它会打开一个对话框。用户可以浏览多个窗口并进行一些更改。之后,用户可以单击“保存”或取消编辑操作。如果取消操作,我想回滚脏属性。我使用下面的代码来做同样的事情,但不知何故,一些变化确实得到回滚而其他变量没有。任何人都可以指出他们是否是一个问题? (以下是我的参考代码)

echo 'a{,b,c}' >> /tmp/foo
echo 'a{,b,c}' >> /tmp/foo
echo 'a{,b,c}' >> /tmp/foo

for i in `cat /tmp/foo`; do eval echo $i; done

2 个答案:

答案 0 :(得分:1)

有一个很好的插件可用于管理ember-data模型的更改: 余烬数据变化跟踪器。 目前,ember-data不跟踪对象,json,自定义类型的变化。 Ember-data-change-tracker支持这些类型。

答案 1 :(得分:0)

我建议采用以下方法:

  1. 每次打开模态之前复制模型
  2. 当用户进行更改时,请使用副本
  3. 如果用户点击"保存",请更新原始模型并保留。
  4. 如果用户点击"取消",则无需采取任何措施。
  5. 这样可以减少对恢复属性的担忧,并提供更好的用户体验。