Vue Router - Маршруты с параметрами - PullRequest
0 голосов
/ 29 октября 2018

У меня есть следующий router.js с несколькими десятками значений-x, то есть значения-1, значения-2.

    const router = new Router({
        routes: [
            {
                path: "/plant/value-one",
                name: "value-one",
                components: {
                    default: Site
                },
                props: {
                    default: {
                        tab: 'value-one',
                        menu: 'value-one'
                    }
                }
            },
            {
                path: "/plant/value-two",
                name: "value-two",
                components: {
                    default: Site
                },
                props: {
                    default: {
                        tab: 'value-two',
                        menu: 'value-two'
                    }
                }
            }
        ]
    }
)

Я бы хотел превратить это в нечто вроде этого:

path: "/plant/*"

Я попробовал следующее:

    const router = new Router({
        routes: [
            {
                path: "/plant/{:name}",
                name: name,
                components: {
                    default: Site
                },
                props: {
                    default: {
                        tab: name,
                        menu: name
                    }
                }
            }
        ]
    }
)

Имя переменная также должна быть передана как имя маршрута, так и вкладка и меню переменные.

Что мне здесь не хватает?

1 Ответ

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

Я предлагаю использовать детские маршруты следующим образом:

{
    path: '/plant',
    component: plantComponent,
    children: [
        {
            path: ':name',
            component: someComponent,
            name: 'someName'
        },

    ]
}

теперь любой маршрут после завода / может быть определен как дочерний маршрут, и я определил маршрут :name, который будет использоваться для завода / * Если вы не хотите использовать дочерние маршруты и просто связаны с передачей параметров маршрута, используйте параметр без фигурных скобок:

path: "/plant/:name",
...