詳解vue幾種主動(dòng)刷新的方法總結(jié)
當(dāng)我們?cè)谧鲰?xiàng)目時(shí),我們需要做當(dāng)前頁(yè)面的刷新來(lái)達(dá)到數(shù)據(jù)更新的目的,在此我們大概總結(jié)了幾種常用的頁(yè)面刷新的方法。
1.window.location.reload(),是原生JS提供的方法,this.$router.go(0):是vue路由里面的一種方法,這兩種方法都可以達(dá)到頁(yè)面刷新的目的,簡(jiǎn)單粗暴,但是用戶(hù)體驗(yàn)不好,相當(dāng)于按F5刷新頁(yè)面,會(huì)有短暫的白屏,相當(dāng)于頁(yè)面的重新載入。
2.通過(guò)路由跳轉(zhuǎn)的方法刷新,具體思路是點(diǎn)擊按鈕跳轉(zhuǎn)一個(gè)空白頁(yè),然后再馬上跳回來(lái):
當(dāng)前頁(yè)面:
<template>
<div>
<el-button type="primary" class="btn" @click="btnaction">摁我刷新頁(yè)面</el-button>
</div>
</template>
<script>
export default{
data(){
return{
}
},
mounted(){
},
methods:{
btnaction() {
// location.reload()
// this.$router.go(0)
this.$router.replace({
path:'/empty',
name:'empty'
})
}
}
}
</script>
空白頁(yè)面:
<template>
<h1>
空頁(yè)面
</h1>
</template>
<script>
export default{
data() {
return{
}
},
created(){
this.$router.replace({
path:'/',
name:'father'
})
}
}
</script>
當(dāng)點(diǎn)擊按鈕時(shí)地址欄會(huì)有快速的地址切換過(guò)程。
3.控制<router-view></router-view>的顯示與否,在全局組件注冊(cè)一個(gè)方法,該方法控制router-view的顯示與否,在子組件調(diào)用即可:
APP.vue
<template>
<div id="app">
<router-view v-if="isRouterAlive"></router-view>
</div>
</template>
<script>
export default {
name: 'App',
provide() { // 注冊(cè)一個(gè)方法
return {
reload: this.reload
}
},
data() {
return {
isRouterAlive: true
}
},
methods: {
reload() {
this.isRouterAlive = false
this.$nextTick(function() {
this.isRouterAlive = true
console.log('reload')
})
}
}
}
</script>
當(dāng)前組件:
<template>
<div>
<el-button type="primary" class="btn" @click="btnaction">摁我刷新頁(yè)面</el-button>
</div>
</template>
<script>
export default{
inject: ['reload'], // 引入方法
data(){
return{
}
},
components:{
},
mounted(){
},
methods:{
btnaction() {
// location.reload()
// this.$router.go(0)
// this.$router.replace({
// path:'/empty',
// name:'empty'
// })
this.reload() // 調(diào)用方法
}
}
}
</script>
當(dāng)點(diǎn)擊按鈕時(shí)所有頁(yè)面重新渲染。
4.對(duì)列表操作后的表格刷新的操作方法:
當(dāng)我們?cè)诓僮鲾?shù)據(jù)表格時(shí),會(huì)對(duì)表格進(jìn)行增刪改查,做完操作我們需要對(duì)列表進(jìn)行刷新來(lái)達(dá)到重新渲染,但是當(dāng)如果存在分頁(yè),我們?cè)诒热绲?頁(yè)進(jìn)行刪除操作,如果按照以往的刷新方法,刷新完后便進(jìn)入了第一頁(yè),這肯定不是我們想要的,這時(shí)候我們常用的做法是重新調(diào)用數(shù)據(jù)渲染方法,通常我們會(huì)有獲取數(shù)據(jù)接口,刪除接口等等,頁(yè)面加載時(shí)調(diào)用獲取數(shù)據(jù)的方法,當(dāng)我們執(zhí)行刪除操作時(shí),再重新調(diào)用獲取數(shù)據(jù)的方法即可。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
el-date-picker 選擇日期范圍只保存左側(cè)日期面板的實(shí)現(xiàn)代碼
接到這樣的需求,日期篩選,但限制只能選擇同一個(gè)月的數(shù)據(jù),故此應(yīng)該去掉右側(cè)月份面板,今天通過(guò)本文給大家分享el-date-picker 選擇日期范圍只保存左側(cè)日期面板的實(shí)現(xiàn)代碼,感興趣的朋友一起看看吧2024-06-06
VUE使用docxtemplater導(dǎo)出word文檔實(shí)例(帶圖片)
docxtemplate支持的功能很多,語(yǔ)法包含變量替換、條件判斷、循環(huán)、列表循環(huán)、表格循環(huán)等,下面這篇文章主要給大家介紹了關(guān)于VUE使用docxtemplater導(dǎo)出word功能(帶圖片)的相關(guān)資料,需要的朋友可以參考下2023-06-06
VUE v-for循環(huán)中每個(gè)item節(jié)點(diǎn)動(dòng)態(tài)綁定不同函數(shù)的實(shí)例
今天小編就為大家分享一篇VUE v-for循環(huán)中每個(gè)item節(jié)點(diǎn)動(dòng)態(tài)綁定不同函數(shù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
electron-vite工具打包后如何通過(guò)內(nèi)置配置文件動(dòng)態(tài)修改接口地址
使用electron-vite?工具開(kāi)發(fā)項(xiàng)目打包完后每次要改接口地址都要重新打包,對(duì)于多環(huán)境切換或者頻繁變更接口地址就顯得麻煩,這篇文章主要介紹了electron-vite工具打包后通過(guò)內(nèi)置配置文件動(dòng)態(tài)修改接口地址實(shí)現(xiàn)方法,需要的朋友可以參考下2024-05-05
Vue3+NodeJS+Soket.io實(shí)現(xiàn)實(shí)時(shí)聊天的示例代碼
本文主要介紹了Vue3+NodeJS+Soket.io實(shí)現(xiàn)實(shí)時(shí)聊天的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
源碼揭秘為什么 Vue2 this 能夠直接獲取到 data 和 methods
本篇文章主要介紹的是Vue2 this 能夠直接獲取到 data 和 methods,閱讀本文將能學(xué)到如何學(xué)習(xí)調(diào)試 vue2 源碼、data 中的數(shù)據(jù)為什么可以用 this 直接獲取到、methods 中的方法為什么可以用 this 直接獲取到,需要的朋友可以參考一下2021-09-09

