一、app.vue
利用v-if可以刷新頁面的屬性,同時使用provide和inject將祖先節點的數據傳遞給子代節點
<template> <div id="app"> <router-view v-if="isShow"></router-view> //① </div> </template> <script> export default { name: 'App',
//③ provide () { return { reload: this.reload } }, data () { return { isShow: true //②
}
},
methods: {
//④
reload () {
this.isShow = false;
this.$nextTick(function () {
this.isShow= true
})
}
}
}
</script>
二、在需要刷新的子路由頁面引入inject,然后執行reload事件,就可以刷新頁面了。
export default {
name: "demo",
inject:['reload'],
data() {
return {
}
},
methods: {
reflesh(){ this.reload() },
}
}