带子路线的电子提示新窗口

时间:2019-10-28 20:21:32

标签: vue.js electron router

在电子Vue中,我想为每个新窗口创建一个新的Vue实例。在我想将路由器子组件加载到新窗口之前,该方法工作正常。例如我有条目

add: path.join(__dirname, '../src/renderer/pages/add.js'),

然后在pages / add.js中,我使用这样的路由器路由创建新的vue实例:

routes: [
    {
        path: '/',
        name: 'add',
        component: require('@/components/add/add').default,
        beforeEnter: (to, from, next) => guard(to, from, next),
        children: [
            {
                path: 'exp',
                component: require('@/components/add/exp').default,
                beforeEnter: (to, from, next) => guard(to, from, next)
            },

如果我只想加载/,则可以正常工作,但是我的add.vue组件是

<template>
    <router-view></router-view>
</template>

,当我开始假设要加载add.html的新窗口时,我希望它从一开始就加载子路由:

createAddExpPlaceWindow() {
    const winUrl = process.env.NODE_ENV === 'development'
        ? `http://localhost:9080/#/add/exp`
        : `file://${__dirname}/add.html/!#/exp`;

,此路径file://${__dirname}/add.html/!#/exp不正确,因为我看到空白窗口。我也尝试过file://${__dirname}/add.html/expfile://${__dirname}/add.html/#/exp似乎都没有用。

1 个答案:

答案 0 :(得分:0)

作为临时解决方案,我只是将路径更改为file://${__dirname}/add.html/exp?opt=exp并基于add.vue中的window.location.search创建了钩子,我正在按router.push({ path: 'exp' })推入路线。