Визуализируется посещение / родительская страница и родительский компонент,
Посетите / parent / modal, и будет отображен дочерний компонент (открытие модального компонента),
Вернитесь к / parent (пытаюсь отобразить обновленные данные в родительском компоненте) Вот где я застрял!
После сохранения данных я отслеживаю параметры маршрута и получаю данные с помощью функции. Однако родитель не реагирует.
Мне нужно вручную обновить или добавить в функцию location.reload (), чтобы увидеть изменение данных.
Почему родитель не реагирует на смену маршрутизатора?
Я установил наблюдение за маршрутом:
'$route' (to, from) {
this.fetchUpdate
}
- Не работал
Однако в документации vue.js beforeRouteEnter и beforeRouteUpdate (to, from, next), по-видимому, являются предпочтительным методом, и данные по-прежнему извлекаются, как часы, но родительский элемент не является реактивным.
Это работает, когда я не установил вложенный маршрут (/ parent / child), однако тогда эффекта «светового ящика» не будет, и это будет похоже на загрузку полноразмерной страницы.
//Route Structure
{
path: '/dashboard',
name: 'dashboard',
component: Dashboard,
meta: {
requiresAuth: true
},
children: [
{
path: 'modal',
name: 'modal',
component: Modal,
meta: {
requiresAuth: true
}
}
]
},
// Parent Structure
beforeRouteEnter (to, from, next) {
next(vm => {
vm.fetchUpdate()
next();
})
},
beforeRouteUpdate (to, from, next) {
firebaseDb.collection('post').where('post_id',
'==', to.params.post_id).get()
.then(querySnapshot => {
querySnapshot.forEach(doc => {
next(vm => {
vm.post_id = doc.data().post_id
vm.title = doc.data().title
vm.paragraph = doc.data().paragraph
})
})
})
}
,
Мы просто пытаемся заставить работать модальную версию редактирования сообщения, так как она более удобна для пользователя, и мы полностью застряли.
Сообщите мне, если вам понадобится дополнительная структура кода