Электронное окно с детским маршрутом - PullRequest
0 голосов
/ 28 октября 2019

В электронном 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 ни один из них, кажется, не работает.

1 Ответ

0 голосов
/ 29 октября 2019

В качестве временного исправления я просто изменил путь на file://${__dirname}/add.html/exp?opt=exp и, основываясь на window.location.search в хуке add.vue, созданном, я проталкиваю маршрут на router.push({ path: 'exp' }).

...