vue中實現頁面刷新以及局部刷新的方法
一.全頁面刷新
1.修改 App.vue,代碼如下:
<template> <div id="app"> <router-view v-if="isRouterAlive" /> </div> </template> <script> export default { name: 'App', provide() { // 父組件中返回要傳給下級的數據 return { reload: this.reload } }, data() { return { isRouterAlive: true } }, methods: { reload() { this.isRouterAlive = false this.$nextTick(function() { this.isRouterAlive = true }) } } } </script>
重點如下圖所示:
2.到需要刷新的頁面使用 inject 進行導入並引用 reload:
3.在需要進行調用的方法中調用 this.reload() 即可
二、局部刷新
1.定義一個變量 isReloadData,並將該變量綁定到需要刷新的標簽上 :
2.定義局部刷新的方法 reloadPart:
3.在需要執行局部刷新的方法中進行調用
三、應用場景
- 當在頁面中動態修改瞭某些數據,或者是 props 帶過來的數據,又或者是通過 funcation 動態設置的屬性,可能在修改之後不會展示最新的數據。
- 當頁面數據發生瞭變化,但是頁面渲染會出現bug,例如 el-table 組件在數據發生變化後,會出現一個空白區域。
此時,全頁面刷新或者局部刷新就會派上用場,下面截圖舉例本人遇到的第二種情況,已通過使用全頁面刷新及局部刷新解決:
1.默認全選,頁面渲染正常:
2.勾選掉一個展示列,頁面渲染正常:
3.把勾選掉的展示列再勾選上,出現空白區域:
此時,隻需要在單選的方法中調用局部刷新的方法 this.reloadPart() 即可解決,同理,全選也是如此。
4.當每次新增展示列時,表格也會出現空白區域,此時我們隻需要在新增記錄成功後調用全頁面刷新的方法 this.reload() 即可。
總結
到此這篇關於vue中實現頁面刷新以及局部刷新的文章就介紹到這瞭,更多相關vue頁面刷新及局部刷新內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Vue實現頁面的局部刷新(router-view頁面刷新)
- vue.js刷新當前頁面的實例講解
- Vue使用三種方法刷新頁面
- Vue3中進行頁面局部刷新組件刷新的操作方法
- 應用provide與inject刷新Vue頁面方法