vue當(dāng)中實(shí)現(xiàn)組件路由的局部刷新

運(yùn)用 provide-inject方法來(lái)實(shí)現(xiàn)組件的局部刷新
  • 在APP.vue當(dāng)中添加:
//在template當(dāng)中添加一個(gè)v-if判斷
<router-view v-if="isRouterAlive"/>

//在data當(dāng)中添加變量
data(){
  return{
    isRouterAlive:true
    }
}

//在methods當(dāng)中添加方法
methods:{
      //通過(guò)改變isRouterAlive來(lái)改變路由的key
      reload(){
        this.isRouterAlive = false
        this.$nextTick(function () {
          this.isRouterAlive = true
        })
      }
    }
//在最開(kāi)始data上面通過(guò)provide把reload掛載上去
 provide(){
      return {
        reload:this.reload
      }
    },
  • 在組件的頁(yè)面當(dāng)中添加
export default {
    //在子組件當(dāng)中通過(guò) inject獲取父組件傳過(guò)來(lái)的reload
    inject:["reload"],
methods:{
//在方法當(dāng)中調(diào)用reload()函數(shù)
this.reload()
}
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容