問題分析:vue
vue框架開發解決:ajax
在App.vue中,先在provide中註冊一個用於頁面重載的方法瀏覽器
<template> <div class="app-wrapper"> <router-view v-if="isRouterAlive" /> </div> </template> <script> export default { name: 'app', provide () { return { appReload: this.reload // 經過provider來提供變量 } }, data () { return { isRouterAlive: true // 解決微信端頁面刷新問題 } }, methods: { // 實現重載 reload () { this.isRouterAlive = false this.$nextTick(() => { this.isRouterAlive = true }) } } } </script>
而後在子組件中經過inject來注入變量,直接調用reload就能夠了微信
<template> <div> <button @click="handlerReload">刷新</button> </div> </template> <script> export default { inject: ['appReload'], // 經過inject來注入變量 methods: { handlerReload () { this.appReload() } } } </script>
擴展知識:app
provider/inject:簡單的來講就是在父組件中經過provider來提供變量,而後在子組件中經過inject來注入變量。 這對選項須要一塊兒使用,以容許一個祖先組件向其全部子孫後代注入一個依賴,不論組件層次有多深,並在起上下游關係成立的時間裏始終生效。
參考資料:https://blog.csdn.net/Lucky_Q/article/details/89097423框架