1

Durandal 2.1 を使用してモバイル アプリケーションを開発しています。

ドキュメントには、 activate コールバックから promise を返すことができ、失敗した場合はナビゲーションをキャンセルする必要があると記載されています。

その機能を使用しようとしましたが、アプリケーションの戻るボタンが壊れてしまいます。

router.jsDurandal のプラグイン コードでわかるように、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 関数でデータを読み込んで、エラーが発生した場合は現在のページに戻ることです。

これに関するヘルプは大歓迎です。

4

0 に答える 0