Router5.js:在不运行激活方法的情况下设置状态

时间:2020-04-15 01:38:36

标签: javascript single-page-application

我正在尝试使用Router5.js开发一个应用程序,其中一些过程是通过模式弹出窗口完成的 我的routerConfig具有以下路由:

{ 
    name: 'home', 
    path: '/home' 
},{
    name: 'home.ModalRoute1',
    path: '/ModalRoute1',
    children: [
        {
            name: 'SubModal1',
            path: '/SubModal1'
        },
        {
            name: 'SubModal2',
            path: '/SubModal2'
        }
    ]
},{
    name: 'home.MaincontainerRoute1'
    path: '/MaincontainerRoute1'
}

NewRequest状态中的所有内容都与该模式弹出div中的容器相关。 想法是,当用户处理弹出窗口时,将保留链接到主应用程序容器的原始状态。 我有设置事件侦听器,当模式关闭时(例如MaincontainerRoute1),它会导航回到NewRequest之前访问的最后一条路由,因为如果用户关闭了模式,则无法再次访问/ ModalRoute1(因为它是当前的)州)。问题在于,在导航到上一条路线时,我重新运行了该路线的方法,而这些方法是我不需要的(因为已经重做了)。

我已经考虑过在过渡中间件中检查fromRoute是否为Modal并添加if语句,以避免运行与渲染(或刷新)背景视图相关的代码,但是我想知道是否还有更优雅的方法将路由器设置为无需导航的状态。

ps .:我不使用react,而是使用router5.js的一些内部组件

预先感谢

0 个答案:

没有答案