Vue: перенаправить прямо на ребенка, в то время как родитель имеет параметр - PullRequest
0 голосов
/ 27 ноября 2018

Я изучаю Vue (на TS), и до сих пор это кажется потрясающим.В настоящий момент я узнаю о маршрутизации Vue и у меня возник вопрос, на который я пытаюсь найти красивый ответ.

Допустим, у меня есть родительский маршрут с именем User, который получает userId в качестве параметра.У меня также есть подстраницы для этого маршрута, которые называются Профиль и Настройки соответственно и устанавливаются в дочернем массиве Пользователя:

routes: [
      {
            component: User,
            name: 'User'
            path: '/user/:userId',
            children: [
                {
                    component: Profile,
                    name: 'Profile',
                    path: 'profile',
                },
                {
                    component: Settings,
                    path: 'settings',
                    name: 'Settings'
                },
            ],
        }
  ]

Довольно круто, что я могу перенаправить из Пользовательского компонента в Профиль или Настройки какпросто как

public redirectToProfile() {
    this.$router.push({ name: 'Profile'});
}

Но мой вопрос - могу ли я перенаправить на профиль пользователя из вне компонента User таким же образом, без объединения строки пути, такой как

public redirectToProfile() {
    this.$router.push({ path: 'user/' + userId + '/profile'});
}

1 Ответ

0 голосов
/ 28 ноября 2018

Я думаю, что вы можете просто сделать это, передавая параметры:

public redirectToProfile(id: string) {
   this.$router.push({ name: 'Profile', params: {userId:id}});
}
...