溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

vue中如何實現(xiàn)頁面刷新以及局部刷新

發(fā)布時間:2022-01-06 12:48:57 來源:億速云 閱讀:858 作者:柒染 欄目:開發(fā)技術(shù)

vue中如何實現(xiàn)頁面刷新以及局部刷新,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

一.全頁面刷新

1.修改 App.vue,代碼如下:

<template>
  <div id="app">
    <router-view v-if="isRouterAlive" />
  </div>
</template>

<script>
export default {
  name: 'App',
  provide() { // 父組件中返回要傳給下級的數(shù)據(jù)
    return {
      reload: this.reload
    }
  },
  data() {
    return {
      isRouterAlive: true
    }
  },
  methods: {
    reload() {
      this.isRouterAlive = false
      this.$nextTick(function() {
        this.isRouterAlive = true
      })
    }
  }
}
</script>

重點如下圖所示:

vue中如何實現(xiàn)頁面刷新以及局部刷新

2.到需要刷新的頁面使用 inject 進(jìn)行導(dǎo)入并引用 reload:

vue中如何實現(xiàn)頁面刷新以及局部刷新

3.在需要進(jìn)行調(diào)用的方法中調(diào)用 this.reload() 即可

vue中如何實現(xiàn)頁面刷新以及局部刷新

二、局部刷新

1.定義一個變量 isReloadData,并將該變量綁定到需要刷新的標(biāo)簽上 :

vue中如何實現(xiàn)頁面刷新以及局部刷新

vue中如何實現(xiàn)頁面刷新以及局部刷新

2.定義局部刷新的方法 reloadPart:

vue中如何實現(xiàn)頁面刷新以及局部刷新

3.在需要執(zhí)行局部刷新的方法中進(jìn)行調(diào)用

vue中如何實現(xiàn)頁面刷新以及局部刷新

三、應(yīng)用場景

  • 當(dāng)在頁面中動態(tài)修改了某些數(shù)據(jù),或者是 props 帶過來的數(shù)據(jù),又或者是通過 funcation 動態(tài)設(shè)置的屬性,可能在修改之后不會展示最新的數(shù)據(jù)。

  • 當(dāng)頁面數(shù)據(jù)發(fā)生了變化,但是頁面渲染會出現(xiàn)bug,例如 el-table 組件在數(shù)據(jù)發(fā)生變化后,會出現(xiàn)一個空白區(qū)域。

此時,全頁面刷新或者局部刷新就會派上用場,下面截圖舉例本人遇到的第二種情況,已通過使用全頁面刷新及局部刷新解決:

1.默認(rèn)全選,頁面渲染正常:

vue中如何實現(xiàn)頁面刷新以及局部刷新

2.勾選掉一個展示列,頁面渲染正常:

vue中如何實現(xiàn)頁面刷新以及局部刷新

3.把勾選掉的展示列再勾選上,出現(xiàn)空白區(qū)域:

vue中如何實現(xiàn)頁面刷新以及局部刷新

此時,只需要在單選的方法中調(diào)用局部刷新的方法 this.reloadPart() 即可解決,同理,全選也是如此。

4.當(dāng)每次新增展示列時,表格也會出現(xiàn)空白區(qū)域,此時我們只需要在新增記錄成功后調(diào)用全頁面刷新的方法 this.reload() 即可。

看完上述內(nèi)容,你們掌握vue中如何實現(xiàn)頁面刷新以及局部刷新的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

vue
AI