【问题标题】:Ember - Rolling back model after edit cancelEmber - 编辑取消后回滚模型
【发布时间】:2014-06-14 02:04:35
【问题描述】:

我遇到了以下情况。

我有一个资源,我们称它为“用户”,它有两个嵌套的同级资源,“操作”和“日期”,因此有两个路由:

/user/actions
/user/dates

用户模板类似于:

{{user.name}}

{{outlet}}

目标是在插座中显示与用户关联的“操作”和“日期”列表。

这很好用,但我也希望能够单击用户名并更改它,即对其进行编辑,以便模板看起来类似于:

{{#unless inedit}}
    <span {{action='triggerUsernameEdit'}}>{{user.name}}</span>
{{else}}
    {{input value=user.name}}
    <button {{action='saveChanges'}}>Save</button>
    <button {{action='cancelChanges'}}>Cancel</button>
{{/unless}}
{{outlet}}

我没有使用 Ember Data,在我尝试恢复到原始模型之前,它运行良好。我正在考虑在 UserRoute 中克隆模型,然后设置回原来的“用户名”字段,但不知道这是否是正确的方法。

我见过其他示例,其中编辑操作将在不同的子路由上处理,比方说:

/user/usernameEdit

但我认为这会使“操作”或“日期”列表消失,这是我不希望的。

任何帮助将不胜感激。

【问题讨论】:

    标签: ember.js


    【解决方案1】:

    如果您尝试回滚,请创建一个副本。

    大(多场)或小(单场)规模,都是复制品。绑定到复制的项目并允许他们编辑这些项目,在提交时,您将副本合并到原始项目中。取消时,销毁副本。

    切换路由仍然会出现同样的问题,您仍然必须绑定到原始模型或副本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-25
      • 2017-12-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多