Я использую vue -router и пытаюсь связать одну запись пользователя с другой, довольно просто.
Мой маршрут - это шаблон от vue -router docs:
{ path: '/user/:user_id', name: 'user', component: User, props: true },
Я связываюсь со следующим кодом:
<a @click="selectUser(user.parent)">{{user.parent.email}}</a>
Метод:
selectUser(user) {
this.$router.push({ name: 'user', params: { user_id: user.id } })
},
Я пытаюсь использовать beforeRouteUpdate для загрузки измененного пользователя:
beforeRouteUpdate (to, from, next) {
alert(this.user_id)
this.fetch()
next()
},
И мой метод извлечения:
fetch() {
this.$store.dispatch('users/fetchUser', this.user_id)
},
Я использую vuex как хорошо. Предупреждение this.user_id (prop) в beforeRouteUpdate отвечает исходным идентификатором, а не измененным. Разве это не должен быть недавно измененный / переданный идентификатор? URL-адрес изменяется на новый идентификатор, но он просто загружает данные со старым / исходным идентификатором, а не с недавно переданным.