访问 /parent 页面并渲染父组件,
访问 /parent/modal 并渲染 Child 组件(打开一个 modal 组件),
导航回 /parent (尝试在父组件中呈现更新的数据)这就是我卡住的地方!
保存数据后,我正在跟踪路由参数,并使用函数获取数据。但是,父级没有反应。
我必须手动刷新或在函数中添加 location.reload() 以查看数据更改。
为什么父级对路由器更改没有反应?
我已经设置了路线手表:
'$route' (to, from) {
this.fetchUpdate
}
- 不工作
但是,在 vue.js 文档中, beforeRouteEnter 和 beforeRouteUpdate (to, from, next) 显然是首选方法,并且数据仍然像手表一样被获取,但父级没有反应。
当我没有将路由设置为嵌套(/父/子)时,它可以工作,但是“灯箱”效果将不存在,它看起来像一个全尺寸的页面加载。
//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
})
})
})
}
,
我们只是试图让编辑帖子的模态版本工作,因为它更加用户友好,我们只是完全卡住了
如果您需要更多代码结构,请告诉我