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

如何處理?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)用戶(hù)跳轉(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í)現(xiàn)變量和字符串拼接

    vue中如何實(shí)現(xiàn)變量和字符串拼接

    這篇文章主要介紹了vue中如何實(shí)現(xiàn)變量和字符串拼接,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • vue實(shí)現(xiàn)單點(diǎn)登錄的方式匯總

    vue實(shí)現(xiàn)單點(diǎn)登錄的方式匯總

    最近項(xiàng)目停工了,RageFrame的學(xué)習(xí)暫時(shí)告一段落,這一篇給大家分享下有關(guān)單點(diǎn)登錄的相關(guān)知識(shí),并提供一些demo給大家參考,對(duì)vue單點(diǎn)登錄的實(shí)現(xiàn)方式感興趣的朋友一起看看吧
    2021-11-11
  • 使用Vue3生成二維碼和條形碼詳細(xì)圖文教程

    使用Vue3生成二維碼和條形碼詳細(xì)圖文教程

    在Vue項(xiàng)目和微信小程序中生成二維碼和條形碼是一個(gè)常見(jiàn)的需求,主要用于分享、產(chǎn)品識(shí)別等場(chǎng)景,這篇文章主要給大家介紹了關(guān)于使用Vue3生成二維碼和條形碼的相關(guān)資料,需要的朋友可以參考下
    2024-09-09
  • Element-ui自定義table表頭、修改列標(biāo)題樣式、添加tooltip、:render-header使用

    Element-ui自定義table表頭、修改列標(biāo)題樣式、添加tooltip、:render-header使用

    這篇文章主要介紹了Element-ui自定義table表頭、修改列標(biāo)題樣式、添加tooltip、:render-header使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-04-04
  • vue3全局導(dǎo)入bootstrap5方式

    vue3全局導(dǎo)入bootstrap5方式

    這篇文章主要介紹了vue3全局導(dǎo)入bootstrap5方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Vue3組件不發(fā)生變化如何監(jiān)聽(tīng)pinia中數(shù)據(jù)變化

    Vue3組件不發(fā)生變化如何監(jiān)聽(tīng)pinia中數(shù)據(jù)變化

    這篇文章主要給大家介紹了關(guān)于Vue3組件不發(fā)生變化如何監(jiān)聽(tīng)pinia中數(shù)據(jù)變化的相關(guān)資料,pinia是Vue的存儲(chǔ)庫(kù),它允許您跨組件/頁(yè)面共享狀態(tài),文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • 基于vue3與supabase系統(tǒng)認(rèn)證機(jī)制詳解

    基于vue3與supabase系統(tǒng)認(rèn)證機(jī)制詳解

    這篇文章主要介紹了基于vue3與supabase系統(tǒng)認(rèn)證機(jī)制,,系統(tǒng)使用基于 JWT (JSON Web Token) 的認(rèn)證方式,提供了安全可靠的用戶(hù)身份管理機(jī)制,需要的朋友可以參考下
    2025-04-04
  • 如何使用uniapp內(nèi)置組件webview消息傳遞詳解

    如何使用uniapp內(nèi)置組件webview消息傳遞詳解

    uni-app的web-view組件用于在應(yīng)用中打開(kāi)網(wǎng)頁(yè),并支持應(yīng)用和網(wǎng)頁(yè)之間的消息傳遞,這篇文章主要介紹了如何使用uniapp內(nèi)置組件webview消息傳遞的相關(guān)資料,需要的朋友可以參考下
    2025-02-02
  • 基于Vue3實(shí)現(xiàn)一個(gè)簡(jiǎn)單的方位動(dòng)畫(huà)

    基于Vue3實(shí)現(xiàn)一個(gè)簡(jiǎn)單的方位動(dòng)畫(huà)

    這篇文章主要為大家詳細(xì)介紹了如何基于Vue3實(shí)現(xiàn)一個(gè)簡(jiǎn)單的方位動(dòng)畫(huà),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • vue3中如何用threejs畫(huà)一些簡(jiǎn)單的幾何體

    vue3中如何用threejs畫(huà)一些簡(jiǎn)單的幾何體

    最近學(xué)習(xí)threejs有些時(shí)間了,就想著著手做些東西,下面這篇文章主要給大家介紹了關(guān)于vue3中如何用threejs畫(huà)一些簡(jiǎn)單的幾何體的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03

最新評(píng)論

合江县| 永顺县| 白朗县| 万载县| 阳高县| 商都县| 偃师市| 六枝特区| 云安县| 汉沽区| 长白| 霍林郭勒市| 闻喜县| 万安县| 抚远县| 姜堰市| 赣州市| 武冈市| 土默特左旗| 清河县| 宁安市| 罗甸县| 南丰县| 夏河县| 毕节市| 吉安县| 丘北县| 来凤县| 丽水市| 忻州市| 商城县| 平遥县| 随州市| 丰原市| 莱芜市| 乌拉特前旗| 勐海县| 富川| 南岸区| 白朗县| 云南省|