关闭Durandal儿童路由器的历史记录

时间:2014-10-07 10:56:22

标签: javascript durandal durandal-2.0

我使用Durandal中的子路由器进行标签控制。

但是,无论何时更改制表符,都会创建历史记录事件。一次又一次。它使我的"关闭"按钮毫无意义,因为我不能router.navigateBack()了(需要很多次)。

有没有办法导航回当前的父路线,或者让子路由器创建没有历史记录?

var childRouter = m_router
    .createChildRouter()
    .makeRelative({ moduleId: 'viewmodels/manage/bill/center', fromParent: true })
    .map([
        { route: ['contract', ''], moduleId: 'contract', title: 'Contracts', nav: true },
        { route: 'job', moduleId: 'job', title: 'Jobs', nav: true },
        { route: 'order', moduleId: 'order', title: 'Orders', nav: true }
    ]).buildNavigationModel();

感谢。

1 个答案:

答案 0 :(得分:1)

听起来你想要做的只是不要在历史中输入一个条目。你可以这样做 -

router.navigate('your/hash/here', { replace: true, trigger: false });

当您的子路由器进行路由更改时。

http://durandaljs.com/documentation/Using-The-Router.html#triggering-navigation