Vue Маршрутизатор Wildcard идет по неверному пути - PullRequest
0 голосов
/ 18 января 2020

У меня есть простая Vue настройка маршрутизатора с Laravel. Я пытаюсь добавить маршрутный символ из-за того, что компонент, который я буду использовать, нуждается в нем. Мои маршруты:

import Dashboard from '@/components/Dashboard'
import MyFiles from '@/components/MyFiles'
import Error403 from '@/components/Error403'
import Error404 from '@/components/Error404'

export default [
    {
        name: 'index',
        path: '/',
        redirect: {
            name: 'dashboard',
        }
    },
    {
        name: 'dashboard',
        path: '/dashboard',
        component: Dashboard,
        props: true,
    },
    {
        name: 'files',
        path: '/dashboard/files/*', //Note the wildcard here.
        component: MyFiles,
        props: true,
    },
    {
        name: '403',
        path: '/403',
        component: Error403,
    },
    {
        name: '404',
        path: '/404',
        component: Error404,
    },
    {
        name: 'catch-all',
        path: '*',
        component: Error404,
    },
]

Кажется, все работает. Но когда я нажимаю на ссылку маршрутизатора для маршрута «файлы». Он идет в / и не перенаправляет, но показывает компоненты файлов. Очень сбивает с толку ... Кроме того, у меня есть эта ошибка в консоли:

[vue -router] отсутствует параметр для именованного маршрута "files": ожидается, что будет определено "0"

Кто-нибудь сталкивался с этой проблемой? Я очень озадачен тем, что делать. Любое направление будет оценено.

ДОПОЛНИТЕЛЬНО

Вот проблема маршрутизатора, которая является проблемой. Обратите внимание, что это в файле Blade. параметры - это просто строки.

    <router-link
        class="nav-link"
        exact-active-class="active"
        :to="{ name: 'files', params: { endpoint: '{{ route('myFiles') }}', endpointget: '{{ route('myFiles.get') }}' } }"
    >
        {{__('My Files')}}
    </router-link>

1 Ответ

0 голосов
/ 18 января 2020

Пожалуйста, измените порядок маршрутов.

Два последних маршрута должны быть такими:

[{path: '/404'}, {path: '/'}, {path: *}]

От более especifi c до более обобщенного c, то есть правильное соответствие.

Далее, я думаю, что если вы удалите «имя» в маршруте * или в файле route, возможно, решите проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...