オブジェクトを編集するためのフォームを備えた emberjs アプリがあります。
このページには、データをデータベースに保存する [保存] ボタンがあります。
オブジェクトがダーティで、ユーザーがアプリ内の別のパスに遷移しようとしている場合は、それについて警告し、確認を拒否した場合は遷移をキャンセルする必要があります。
App.ObjectEditRoute = Ember.Route.extend
exit: ->
if @get('model.isDirty')
if confirm('All your changes will be lost')
# We just keep rolling the chain of events and do the transition
else
# We want to cancel the transition
ただし、exit メソッドから遷移をキャンセルする方法はないようです。