1

当用户在对话框中有未保存的更改时,我想在他可以转换到其他地方之前警告他。

当他单击链接或手动更改哈希时,应该进行此检查。

ember有没有办法实现这一点?

4

1 回答 1

1

目前无法在 Ember 中停止转换。从好的方面来说,这个问题目前正在 github 上解决

您可以等待它解决,或者如果您愿意,可以提供帮助。

同时,您可以使用手动操作代替linkTo检查是否有未提交的更改的帮助程序。

在您的模板中:

<a {{action goHome}}>Home</a>

在您的路线中:

events: {
  goHome: function() {
    var isCommitted = !this.controllerFor('post').get('isDirty');
    if (isCommitted || confirm('You will lose your changes')) {
      this.transitionTo('home');
    }
  }
}

不利的一面是,您将丢失链接中的 URL,这意味着用户将无法在新选项卡中打开链接。

于 2013-02-22T10:00:56.053 回答