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

vue返回上一頁(yè)面時(shí)不刷新問(wèn)題及解決方案

 更新時(shí)間:2022年05月26日 10:52:38   作者:qq_39355295  
這篇文章主要介紹了vue返回上一頁(yè)面時(shí)不刷新問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

返回上一頁(yè)面時(shí)不刷新

前景

在日常使用的時(shí)候,我們經(jīng)常需要返回上一級(jí)頁(yè)面的時(shí)候,不刷新頁(yè)面,保持頁(yè)面不變,這里就需要使用以下方法:

思路

因?yàn)関ue是單頁(yè)面應(yīng)用,進(jìn)入其他頁(yè)面時(shí)會(huì)銷毀該頁(yè)面,用keep-alive不讓其刷新,具體實(shí)現(xiàn)為:

(1).在App.vue中加入

這里是所有頁(yè)面切換到地方,下面代碼分別對(duì)不同的設(shè)置,采用不同的渲染方式。

<template>
? <div id="app">
? ? <!--<router-view/>-->
? ? <!--頁(yè)面返回不刷新-->
? ? <keep-alive>
? ? ? <router-view v-if="$route.meta.keepAlive"></router-view>
? ? </keep-alive>
? ? <router-view v-if="!$route.meta.keepAlive"></router-view>
? </div>
</template>

(2).index.js頁(yè)面

在需要設(shè)置不刷新的頁(yè)面中,只需要添加 keepAlive: true就可以。

export default new Router({
? routes: [{
? ? path: '/',
? ? name: 'index',
? ? component: index,
? ? meta: {
? ? ? keepAlive: true
? ? }
? },

至此返回上級(jí)頁(yè)面不刷新功能實(shí)現(xiàn):因?yàn)樵趇ndex.vue中,mounted方法只走一次,在瀏覽器上實(shí)現(xiàn)了返回原來(lái)滾動(dòng)位置的目的。

說(shuō)明

備注:一般執(zhí)行完上一步的時(shí)候就已經(jīng)實(shí)現(xiàn)方法了,如果在手機(jī)上測(cè)試,發(fā)現(xiàn)沒(méi)用:可以試著添加下面的代碼試一下:

//在頁(yè)面離開時(shí)記錄滾動(dòng)位置
beforeRouteLeave (to, from, next) {
? ? this.scrollTop = document.documentElement.scrollTop || document.body.scrollTop
? ? next()
? },
//進(jìn)入該頁(yè)面時(shí),用之前保存的滾動(dòng)位置賦值
beforeRouteEnter (to, from, next) {
? ? next(vm => {
? ? ? document.body.scrollTop = vm.scrollTop
? ? })
? },

至此完美結(jié)束,算是一個(gè)比較常見而且簡(jiǎn)單的功能了。

頁(yè)面回退后,不刷新問(wèn)題

問(wèn)題描述

index頁(yè)面中呈現(xiàn)一個(gè)item列表,有一個(gè)【新增】按鈕,點(diǎn)擊后,跳轉(zhuǎn)到了新增頁(yè)面addNewInfo.vue, 保存了新增記錄后,跳轉(zhuǎn)回到index頁(yè)面,此時(shí)index中的item列表不能刷新。

在index中的created, mounted鉤子中添加了查詢方法,無(wú)法觸發(fā)

created() {
?? ?this.queryHandler()
},
mounted() {
?? ?this.queryHandler()
}

問(wèn)題解決

查詢了該問(wèn)題后,得知有兩種方式可以解決該問(wèn)題

  • 使用activated鉤子函數(shù)
  • watch中添加對(duì)this.$route的監(jiān)聽

兩種方式均可以解決問(wèn)題,但是個(gè)人偏愛第一種,簡(jiǎn)單方便

activated顧名思義是激活,也就是進(jìn)入頁(yè)面后立即觸發(fā),然而有個(gè)前提,如官網(wǎng)API文檔所說(shuō):

被 keep-alive 緩存的組件激活時(shí)調(diào)用

當(dāng)前項(xiàng)目使用的vue-element-admin框架,在框架中的AppMain.vue中已經(jīng)在<router-view>外層包括了<keep-alive>:

<template>
? <section class="app-main">
? ? <transition name="fade-transform" mode="out-in">
? ? ? <keep-alive :include="cachedViews">
? ? ? ? <router-view :key="key" />
? ? ? </keep-alive>
? ? </transition>
? </section>
</template>

因此所有的組件目前都是被keep-alive緩存的,符合activated的激活條件. 嘗試后確實(shí)有效。

activated() {
?? ?this.queryHandler()
}

> 官方API文檔:https://cn.vuejs.org/v2/api/#activated

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。 

相關(guān)文章

  • 降低vue-router版本的2種解決方法實(shí)例

    降低vue-router版本的2種解決方法實(shí)例

    vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,適合用于構(gòu)建單頁(yè)面應(yīng)用,下面這篇文章主要給大家介紹了關(guān)于降低vue-router版本的2種解決方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • vue前端自適應(yīng)布局實(shí)現(xiàn)教程(一步到位所有自適應(yīng))

    vue前端自適應(yīng)布局實(shí)現(xiàn)教程(一步到位所有自適應(yīng))

    ?自適應(yīng)布局是一種根據(jù)不同的設(shè)備屏幕分辨率進(jìn)行布局的方式,它為不同的屏幕分辨率定義了不同的布局,下面這篇文章主要給大家介紹了關(guān)于vue前端自適應(yīng)布局實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • 詳解vue-cli中的ESlint配置文件eslintrc.js

    詳解vue-cli中的ESlint配置文件eslintrc.js

    本篇文章主要介紹了vue-cli中的ESlint配置文件eslintrc.js詳解 ,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • vue用addRoutes實(shí)現(xiàn)動(dòng)態(tài)路由的示例

    vue用addRoutes實(shí)現(xiàn)動(dòng)態(tài)路由的示例

    本篇文章主要介紹了vue用addRoutes實(shí)現(xiàn)動(dòng)態(tài)路由的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • vue.js全局API之nextTick全面解析

    vue.js全局API之nextTick全面解析

    本篇文章主要介紹了vue.js全局API之nextTick全面解析,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • vue與iframe之間的信息交互的實(shí)現(xiàn)

    vue與iframe之間的信息交互的實(shí)現(xiàn)

    這篇文章主要介紹了vue與iframe之間的信息交互的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Vue3之父子組件異步props數(shù)據(jù)的傳值方式

    Vue3之父子組件異步props數(shù)據(jù)的傳值方式

    這篇文章主要介紹了Vue3之父子組件異步props數(shù)據(jù)的傳值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • 前端elementUI?select選擇器實(shí)現(xiàn)遠(yuǎn)程搜索

    前端elementUI?select選擇器實(shí)現(xiàn)遠(yuǎn)程搜索

    這篇文章主要為大家介紹了前端使用elementUI?select選擇器實(shí)現(xiàn)遠(yuǎn)程搜索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Vue通過(guò)URL傳參如何控制全局console.log的開關(guān)詳解

    Vue通過(guò)URL傳參如何控制全局console.log的開關(guān)詳解

    這篇文章主要給大家介紹了關(guān)于Vue根據(jù)URL傳參如何控制全局console.log開關(guān)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-12-12
  • 一文詳細(xì)聊聊vue3的defineProps、defineEmits和defineExpose

    一文詳細(xì)聊聊vue3的defineProps、defineEmits和defineExpose

    vue3官方文檔defineProps和defineEmits都是只能在scriptsetup中使用的編譯器宏,下面這篇文章主要給大家介紹了關(guān)于vue3的defineProps、defineEmits和defineExpose的相關(guān)資料,需要的朋友可以參考下
    2023-02-02

最新評(píng)論

麦盖提县| 阳城县| 临沂市| 湟中县| 卢湾区| 徐闻县| 自治县| 军事| 剑川县| 洪雅县| 昌邑市| 游戏| 南岸区| 芷江| 忻州市| 上饶市| 大渡口区| 龙井市| 子长县| 武安市| 镇沅| 谷城县| 高阳县| 中西区| 通化市| 泰州市| 客服| 封开县| 南靖县| 深州市| 巴彦淖尔市| 吴川市| 新郑市| 松滋市| 沂南县| 麦盖提县| 云南省| 沙河市| 固始县| 临汾市| 绩溪县|