2013-02-22 88 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'); 
    } 
    } 
} 

的缺點是,你將失去中的網址鏈接,這意味着用戶將無法打開鏈接在一個新標籤中。