vue中實現(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>
重點如下圖所示:

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

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

二、局部刷新
1.定義一個變量 isReloadData,并將該變量綁定到需要刷新的標簽上 :


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

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

三、應(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.默認全選,頁面渲染正常:

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

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

此時,只需要在單選的方法中調(diào)用局部刷新的方法 this.reloadPart() 即可解決,同理,全選也是如此。
4.當(dāng)每次新增展示列時,表格也會出現(xiàn)空白區(qū)域,此時我們只需要在新增記錄成功后調(diào)用全頁面刷新的方法 this.reload() 即可。
總結(jié)
到此這篇關(guān)于vue中實現(xiàn)頁面刷新以及局部刷新的文章就介紹到這了,更多相關(guān)vue頁面刷新及局部刷新內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue3+Vite+TS使用elementPlus時踩的坑及解決
這篇文章主要介紹了Vue3+Vite+TS使用elementPlus時踩的坑及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10
vue路由history模式頁面刷新404解決方法Koa?Express
這篇文章主要為大家介紹了vue路由history模式頁面刷新404解決方法(Koa?Express)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11
ElementUI Tag組件實現(xiàn)多標簽生成的方法示例
這篇文章主要介紹了ElementUI Tag組件實現(xiàn)多標簽生成的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07

