1

我们正在使用 Durandal 2.1 开发移动应用程序

文档说明我们可以从激活回调中返回一个承诺,并且它应该在失败时取消导航。

我们一直在尝试使用该功能,但它破坏了我们应用程序中的后退按钮。

正如您在 Durandal 的router.js插件代码中看到的那样,该函数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);
}

由于这种行为,在导航取消后使用后退按钮将不会提供预期的结果,因为它将导航回导致错误的页面。

我们是否以错误的方式使用此功能?

我们的目标是尝试在激活函数中加载数据,然后在出现错误时导航回当前页面。

非常感谢有关此 Woule 的任何帮助。

4

0 回答 0