最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue項(xiàng)目刷新當(dāng)前頁面的三種方式(重載當(dāng)前頁面數(shù)據(jù))

 更新時(shí)間:2023年01月17日 09:46:47   作者:echo丶若夢(mèng)  
這篇文章主要介紹了vue項(xiàng)目刷新當(dāng)前頁面的三種方式(重載當(dāng)前頁面數(shù)據(jù)),本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

vue項(xiàng)目刷新當(dāng)前頁面的三種方式(重載當(dāng)前頁面數(shù)據(jù))

一、this.$router.go(0)

相當(dāng)于F5刷新,這種方法雖然代碼很少,只有一行,但是體驗(yàn)很差。頁面會(huì)一瞬間的白屏,體驗(yàn)不是很好

二、location.reload()

這種也是一樣,畫面一閃,體驗(yàn)不是很好,相當(dāng)于頁面刷新

推薦解決方法:

三、用provide / inject 組合

原理:允許一個(gè)祖先組件向其所有子孫后代注入一個(gè)依賴,不論組件層次有多深,并在起上下游關(guān)系成立的時(shí)間里始終生效
在App.vue,聲明reload方法,控制router-view的顯示或隱藏,從而控制頁面的再次加載。

<template>
  <div id="app">
    <router-view v-if="isRouterAlive"></router-view>
  </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>

在需要用到刷新的頁面。在頁面注入App.vue組件提供(provide)的 reload 依賴,在邏輯完成之后(刪除或添加…),直接this.reload()調(diào)用,即可刷新當(dāng)前頁面。

注入reload方法

export default {
  inject: ['reload'],
 }

在需要重載的地方直接調(diào)用

this.reload()

PS:vue項(xiàng)目刷新當(dāng)前頁面的三種方法

1、最直接整個(gè)頁面重新刷新。

location. reload();
this.$router.go(0);
// 這兩種都可以刷新當(dāng)前頁面的,缺點(diǎn)就是相當(dāng)于按ctrl+F5 強(qiáng)制刷新那種,整個(gè)頁面重新加載,會(huì)出現(xiàn)一個(gè)瞬間的空白頁面,體驗(yàn)不好。

2、新建一個(gè)空白頁面,點(diǎn)擊確定的時(shí)候先跳轉(zhuǎn)到這個(gè)空白頁,然后再立馬跳轉(zhuǎn)回來。這個(gè)方式,相比第一種不會(huì)出現(xiàn)一瞬間的空白頁,只是地址欄有個(gè)快速的切換的過程,也可采用。
3、provide / inject 刷新相對(duì)比較理想。

//首先在app.vue進(jìn)行修改
<template>
    <div id="app">
      // 控制router-view的顯示或隱藏,從而控制頁面的再次加載
      <router-view v-if="isRouterAlive"/>
    </div>
</template>

<script>
export default {
  name: "App",
  provide() {
    return {
      reload : this.reload,
    }
  },
  data() {
    return {
      isRouterAlive:true,
    };
  },
  created(){},
  methods: {
    // 通過聲明reload方法,控制router-view的顯示或隱藏,從而控制頁面的再次加載
    reload(){
      this.isRouterAlive = false;
      this.$nextTick(() => {
        this.isRouterAlive = true;
      })
    },
  },
};
</script>

在需要刷新的頁面引入后直接調(diào)用即可

<template>
  <div>
	<el-button icon="el-icon-refresh" @click="refresh">點(diǎn)擊刷新</el-button>
  </div>
</template>
<script>
export default {
//引用vue reload方法
  inject: ['reload'],
  name:"",
  data() {
	return {
	}
  },
methods: {
    refresh () {
      this.reload()
    }
  }
}
</script>

這樣就實(shí)現(xiàn)了子組件調(diào)取reload方法就實(shí)現(xiàn)了刷新vue組件的功能,而且實(shí)現(xiàn)了組件跨越層級(jí)傳遞數(shù)據(jù)方法。

到此這篇關(guān)于vue項(xiàng)目刷新當(dāng)前頁面的三種方式(重載當(dāng)前頁面數(shù)據(jù))的文章就介紹到這了,更多相關(guān)vue刷新當(dāng)前頁面內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用vue實(shí)現(xiàn)計(jì)時(shí)器功能

    使用vue實(shí)現(xiàn)計(jì)時(shí)器功能

    這篇文章主要為大家詳細(xì)介紹了使用vue實(shí)現(xiàn)計(jì)時(shí)器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 一文教你vue3 watch如何停止監(jiān)視

    一文教你vue3 watch如何停止監(jiān)視

    這篇文章主要為大家詳細(xì)介紹了vue3中watch如何停止監(jiān)視,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-12-12
  • 詳解webpack編譯多頁面vue項(xiàng)目的配置問題

    詳解webpack編譯多頁面vue項(xiàng)目的配置問題

    本篇文章主要介紹了詳解webpack編譯多頁面vue項(xiàng)目的配置問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-12-12
  • 前端vue?a鏈接下載文件失敗的問題(未發(fā)現(xiàn)文件)

    前端vue?a鏈接下載文件失敗的問題(未發(fā)現(xiàn)文件)

    這篇文章主要介紹了前端vue?a鏈接下載文件失敗的問題(未發(fā)現(xiàn)文件),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue父子傳遞實(shí)例講解

    Vue父子傳遞實(shí)例講解

    在本篇文章里小編給大家整理的是關(guān)于Vue父子傳遞實(shí)例講解,需要的朋友們可以跟著學(xué)習(xí)參考下。
    2020-02-02
  • 新版vue-cli模板下本地開發(fā)環(huán)境使用node服務(wù)器跨域的方法

    新版vue-cli模板下本地開發(fā)環(huán)境使用node服務(wù)器跨域的方法

    這篇文章主要介紹了新版vue-cli模板下本地開發(fā)環(huán)境使用node服務(wù)器跨域的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04
  • vuejs中使用mixin局部混入/全局混入的方法詳解

    vuejs中使用mixin局部混入/全局混入的方法詳解

    混入可以省很多代碼(高類聚低耦合),還方便維護(hù),下面這篇文章主要給大家介紹了關(guān)于vuejs中使用mixin局部混入/全局混入的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • 在Vue當(dāng)中同時(shí)配置多個(gè)路由文件的方法案例代碼

    在Vue當(dāng)中同時(shí)配置多個(gè)路由文件的方法案例代碼

    這篇文章主要介紹了在Vue當(dāng)中同時(shí)配置多個(gè)路由文件的方法,包含具體代碼,本文分步驟結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12
  • Vue.js中vue-property-decorator的使用方法詳解

    Vue.js中vue-property-decorator的使用方法詳解

    vue-property-decorator是一個(gè)用于在Vue.js中使用TypeScript裝飾器的庫,它能夠簡化 Vue 組件的定義,使代碼更加簡潔和可維護(hù),它能夠簡化Vue組件的定義,使代碼更加簡潔和可維護(hù),本文將深入探討vue-property-decorator的使用方法,并展示如何在Vue.js項(xiàng)目中應(yīng)用它
    2024-08-08
  • 使用Axios攔截器中止Vue請(qǐng)求的步驟詳解

    使用Axios攔截器中止Vue請(qǐng)求的步驟詳解

    假設(shè)?App?的用戶可以在短時(shí)間內(nèi)進(jìn)行多個(gè)?API?調(diào)用,但您只想顯示上次調(diào)用的結(jié)果,之前正在進(jìn)行的請(qǐng)求變得無關(guān)緊要,在這種情況下,您可以利用?Axios?攔截器,本文給大家介紹了如何使用Axios攔截器中止Vue請(qǐng)求,需要的朋友可以參考下
    2023-11-11

最新評(píng)論

绥滨县| 海阳市| 井研县| 股票| 馆陶县| 集贤县| 太和县| 东光县| 清徐县| 芷江| 且末县| 聂拉木县| 双鸭山市| 胶州市| 肥城市| 临安市| 视频| 乐山市| 灌南县| 宜兰市| 浠水县| 宽城| 遂溪县| 顺平县| 涪陵区| 广灵县| 绥阳县| 临海市| 彰化县| 青田县| 长寿区| 藁城市| 金溪县| 乌什县| 扬中市| 安化县| 德令哈市| 禹州市| 伽师县| 隆尧县| 乐安县|