通过v-if的功能触发页面刷新,结合provide和inject(reload)
一、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()
},
}
}