在电子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/exp
和file://${__dirname}/add.html/#/exp
似乎都没有用。
答案 0 :(得分:0)
作为临时解决方案,我只是将路径更改为file://${__dirname}/add.html/exp?opt=exp
并基于add.vue中的window.location.search
创建了钩子,我正在按router.push({ path: 'exp' })
推入路线。