2013-02-22 86 views

回答

1

目前没有办法停止Ember中的转换。在光明的一面,这个问题是currently being addressed on 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'); 
    } 
    } 
} 

的缺点是,你将失去中的网址链接,这意味着用户将无法打开链接在一个新标签中。