http://emberjs.com/guides/outlets/#toc_the-routerの例を使用して、アプリで基本的なルーティングを設定しました
ルート内には、ビュー アクションからトリガーされるいくつかのイベントがあります。
gotoStepOne: Ember.Route.transitionTo('stepOne'),
gotoStepTwo: Ember.Route.transitionTo('stepTwo'),
gotoStepThree: Ember.Route.transitionTo('stepThree'),
gotoStepFour: Ember.Route.transitionTo('stepFour'),
gotoStepFive: Ember.Route.transitionTo('stepFive'),
http://jsfiddle.net/hellosmithy/WdjXT/の完全なルーター コードの例
現時点では、これはすべて正常に機能します。問題は、これらのイベントに他のコードを追加したいということです。例えば:
gotoStepOne: function() {
if (someCondition) {
Ember.Route.transitionTo('stepOne');
}
someOtherFunction();
}
ただし、これを行うと、エラーをスローすることなくルーティングが中断されます。もはや遷移しません。
具体的には、特定の状態が満たされた場合にのみ遷移が発生するようにします。ユーザーが続行する前に、各段階で何かが選択または入力されています。これに対する回避策はありますか、それともこの機能を他の場所で抽象化する必要がありますか?