欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何處理?Vue3?中隱藏元素刷新閃爍問(wèn)題

 更新時(shí)間:2024年10月12日 11:56:42   作者:阿莫、  
本文主要探討了網(wǎng)頁(yè)刷新時(shí),原本隱藏的元素會(huì)一閃而過(guò)的問(wèn)題,以及嘗試過(guò)的解決方案并未奏效,通過(guò)實(shí)例代碼介紹了如何處理?Vue3?中隱藏元素刷新閃爍問(wèn)題,感興趣的朋友跟隨小編一起看看吧

一、問(wèn)題說(shuō)明

頁(yè)面刷新,原本隱藏的元素會(huì)一閃而過(guò)。

效果展示:

頁(yè)面的導(dǎo)航欄通過(guò)路由跳轉(zhuǎn)中攜帶的 meta 參數(shù)控制導(dǎo)航欄的 顯示/隱藏,但在實(shí)踐過(guò)程中發(fā)現(xiàn),雖然元素隱藏了,但是刷新頁(yè)面會(huì)出現(xiàn)閃爍的問(wèn)題。

項(xiàng)目源碼:

在路由跳轉(zhuǎn)中為 meta 添加參數(shù),用于控制導(dǎo)航欄的 顯示/隱藏:

// src/router/index.ts
const routes: Array<RouteRecordRaw> = [
    ...
    {
        path: '/home',
        component: () => import('@/views/home/Home.vue'),
    },
    {
        path: '/login',
        component: () => import('@/views/login/Login.vue'),
        meta: { hideNav: true }
    },
    {
        path: '/register',
        component: () => import('@/views/login/Register.vue'),
        meta: { hideNav: true }
    },
    ...
]
<!-- Main.vue -->
<template>
    <div id="main">
        <nav id="navigation" v-if="!$route.meta.hideNav">
            <Aside></Aside>
        </nav>
        <div id="content">
            <router-view></router-view>
        </div>
    </div>
</template>
<script setup lang="ts">
import Aside from "../aside/Aside.vue";
</script>

二、嘗試解決

起初查看網(wǎng)友分享的資料,嘗試為導(dǎo)航欄添加 v-cloak 并設(shè)置樣式:

<template>
    <div id="main">
        <nav id="navigation" v-cloak v-if="!$route.meta.hideNav">
            <Aside></Aside>
        </nav>
        ...
    </div>
</template>
<style lang="less" scoped>
[v-cloak] {
    display: none;
}
</style>

在實(shí)踐過(guò)程中發(fā)現(xiàn),并無(wú)效果。

三、最終解決方案

解決思路:先隱藏導(dǎo)航欄,通過(guò)監(jiān)聽(tīng)路由跳轉(zhuǎn)的目的地來(lái)判斷是否顯示導(dǎo)航欄。該解決方案略顯粗糙,粗糙的地方在于,需要手動(dòng)排除部分頁(yè)面,例如登錄、注冊(cè)頁(yè),根據(jù)自身項(xiàng)目,可能還需要手動(dòng)排除其他頁(yè)面(暫時(shí)沒(méi)想到更好的解決方案≡(▔﹏▔)≡)。

<template>
    <div id="main">
        <nav id="navigation" ref="navRef">
            <Aside></Aside>
        </nav>
        <div id="content">
            <router-view></router-view>
        </div>
    </div>
</template>
<script setup lang="ts">
import { ref, watch } from "vue";
import Aside from "../aside/Aside.vue";
import { useRoute } from 'vue-router';
const route = useRoute();
// 當(dāng)用戶跳轉(zhuǎn)至登錄頁(yè)面時(shí),F(xiàn)5刷新頁(yè)面時(shí),導(dǎo)航欄會(huì)出現(xiàn)閃爍,因此通過(guò)判斷路由跳轉(zhuǎn)的目的地來(lái)控制導(dǎo)航欄的 顯示/隱藏
const navRef = ref();
watch(() => route.path,() => {
    if(route.path == '/login' || route.path == '/register') {
        navRef.value.style.display = "none";
    }else {
        navRef.value.style.display = "block";
    }
})
</script>
<style lang="less" scoped>
#navigation {
    display: none;
}
</style>

四、最終效果演示

到此這篇關(guān)于處理 Vue3 中隱藏元素刷新閃爍問(wèn)題的文章就介紹到這了,更多相關(guān)vue刷新閃爍內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue接入高德地圖的完整實(shí)例

    Vue接入高德地圖的完整實(shí)例

    近期在用vue做一個(gè)環(huán)保類的項(xiàng)目,要求使用高德地圖,下面這篇文章主要給大家介紹了關(guān)于Vue接入高德地圖的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • vue使用自定義指令實(shí)現(xiàn)拖拽

    vue使用自定義指令實(shí)現(xiàn)拖拽

    這篇文章主要為大家詳細(xì)介紹了vue使用自定義指令實(shí)現(xiàn)拖拽,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Vue路由權(quán)限控制解析

    Vue路由權(quán)限控制解析

    這篇文章主要介紹了Vue路由權(quán)限控制的相關(guān)資料,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2020-11-11
  • Vue3父子組件間傳參通信的四種方式

    Vue3父子組件間傳參通信的四種方式

    近期學(xué)習(xí)vue3的父子組件之間的傳值,發(fā)現(xiàn)跟vue2的并沒(méi)有太大的區(qū)別,下面這篇文章主要給大家介紹了關(guān)于Vue3父子組件間傳參通信的四種方式,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • Vue實(shí)現(xiàn)快捷鍵錄入功能的示例代碼

    Vue實(shí)現(xiàn)快捷鍵錄入功能的示例代碼

    有的時(shí)候項(xiàng)目需要在頁(yè)面使用快捷鍵,而且需要對(duì)快捷鍵進(jìn)行維護(hù)。本文將為大家展示Vue實(shí)現(xiàn)快捷鍵錄入功能的示例代碼,感興趣的可以了解一下
    2022-04-04
  • Vue與Axios的傳參方式實(shí)例詳解

    Vue與Axios的傳參方式實(shí)例詳解

    現(xiàn)在vue項(xiàng)目基本上都是使用axios進(jìn)行請(qǐng)求操作,下面這篇文章主要給大家介紹了關(guān)于Vue與Axios的傳參方式的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Vue中跨標(biāo)簽通信詳解

    Vue中跨標(biāo)簽通信詳解

    這篇文章主要為大家詳細(xì)介紹了介紹了Vue中跨標(biāo)簽通信的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • 解決Vue 瀏覽器后退無(wú)法觸發(fā)beforeRouteLeave的問(wèn)題

    解決Vue 瀏覽器后退無(wú)法觸發(fā)beforeRouteLeave的問(wèn)題

    這篇文章主要介紹了解決Vue 瀏覽器后退無(wú)法觸發(fā)beforeRouteLeave的問(wèn)題,需要的朋友可以參考下
    2017-12-12
  • vue mint-ui學(xué)習(xí)筆記之picker的使用

    vue mint-ui學(xué)習(xí)筆記之picker的使用

    本篇文章主要介紹了vue mint-ui學(xué)習(xí)筆記之picker的使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • vue中關(guān)于click.stop的用法

    vue中關(guān)于click.stop的用法

    這篇文章主要介紹了vue中關(guān)于click.stop的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10

最新評(píng)論