ユーザーがダイアログで変更を保存していない場合、別の場所に移動する前に警告したいと思います。
このチェックは、リンクをクリックするか、ハッシュを手動で変更したときに行われます。
これを達成する方法はありますか?
ユーザーがダイアログで変更を保存していない場合、別の場所に移動する前に警告したいと思います。
このチェックは、リンクをクリックするか、ハッシュを手動で変更したときに行われます。
これを達成する方法はありますか?
現在、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 が失われることです。つまり、ユーザーは新しいタブでリンクを開くことができなくなります。