如何从 Durandal 路由器访问以前的路由

How to access the previous route from Durandal router

有没有办法从 Durandal.js 路由器访问之前的 route/instruction?我知道我可以做 router.navigateBack() 来实际导航回来,但我想知道在触发导航之前我将导航回的路线。

恐怕不是直接的。

router.navigateBack() 在 router.js 中定义为

    router.navigateBack = function() {
        history.navigateBack();
    };

并且 history.navigateBack() 在 history.js 中定义为

    history.navigateBack = function() {
        history.history.back();
    };

和 history.history 是上面为 window.history 定义的别名,它是浏览器的一部分,如果暴露会导致安全问题。

如果您想拥有该功能,则必须自己实现。可能通过拦截 router.navigate()router.navigateBack().