Durandal 2.1 を使用してモバイル アプリケーションを開発しています。
ドキュメントには、 activate コールバックから promise を返すことができ、失敗した場合はナビゲーションをキャンセルする必要があると記載されています。
その機能を使用しようとしましたが、アプリケーションの戻るボタンが壊れてしまいます。
router.js
Durandal のプラグイン コードでわかるように、cancelNavigation
関数は次の方向に移動していlastUrl
ます。
function cancelNavigation(instance, instruction) {
system.log('Navigation Cancelled');
router.activeInstruction(currentInstruction);
router.navigate(lastUrl, false);
isProcessing(false);
rootRouter.explicitNavigation = false;
rootRouter.navigatingBack = false;
router.trigger('router:navigation:cancelled', instance, instruction, router);
}
その動作のため、ナビゲーションのキャンセル後に戻るボタンを使用すると、エラーの原因となったページに戻るため、期待される結果が得られません。
この機能を間違った方法で使用していませんか?
私たちの目標は、 activate 関数でデータを読み込んで、エラーが発生した場合は現在のページに戻ることです。
これに関するヘルプは大歓迎です。