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

vue實(shí)現(xiàn)頁(yè)面渲染時(shí)候執(zhí)行某需求的示例代碼

 更新時(shí)間:2024年05月23日 08:36:25   作者:躺平攻城獅  
本文主要介紹了vue實(shí)現(xiàn)頁(yè)面渲染時(shí)候執(zhí)行某需求,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

1. 前言

在之前的項(xiàng)目中,需要實(shí)現(xiàn)一個(gè)監(jiān)控token是否過(guò)期從而動(dòng)態(tài)刷新token的功能,然而在登錄成功后創(chuàng)建的監(jiān)控器會(huì)在瀏覽器刷新點(diǎn)擊或者是通過(guò)導(dǎo)航欄輸入網(wǎng)址時(shí)銷(xiāo)毀...

2. 試錯(cuò)

前前后后始過(guò)很多方法,在這里就記錄一下也許也能為各位讀者排雷

2.1 window.addEventListener

一開(kāi)始想到的是在每一個(gè)頁(yè)面上加一個(gè)監(jiān)聽(tīng)listener,監(jiān)聽(tīng)頁(yè)面加載事件,沒(méi)當(dāng)加載時(shí)候就調(diào)用檢測(cè)token的方法,但是實(shí)際測(cè)試中并不能完全實(shí)現(xiàn)(主要在瀏覽器刷新點(diǎn)擊)個(gè)人猜測(cè)可能是緩存問(wèn)題,有時(shí)瀏覽器緩存可能導(dǎo)致腳本不按預(yù)期運(yùn)行。

window.addEventListener('load', () => {
   console.log(11)
   onPageRender();
});

2.2 defineComponent

由于本人的項(xiàng)目是ts+vue的編譯,一開(kāi)始沒(méi)想到用這個(gè),就有了如下測(cè)試,即是在defineComponent中使用mounted鉤子函數(shù),每當(dāng)頁(yè)面動(dòng)態(tài)刷新時(shí)都會(huì)調(diào)用生成監(jiān)控器

<script lang="ts">
    import { defineComponent } from 'vue';
    import { onPageRender } from '@/utils/tokenMonitor'
    export default defineComponent({
        name: 'MyComponent',
    
        mounted() {
          // 在這里編寫(xiě)你的頁(yè)面渲染邏輯
          onPageRender();
        },
    });
</script>

 但是在實(shí)際測(cè)試的過(guò)程中也是有時(shí)候正常有時(shí)候不正常,可能是我ts中使用響應(yīng)式編程一些變量函數(shù)定義在這個(gè)defineComponent外面的原因(如下圖所示),反正就是不能完美解決我的需求

3. 解決方案

在上圖中使用 <script setup> 來(lái)定義script,官方的解釋是這個(gè)setup就是會(huì)默認(rèn)導(dǎo)出script中定義的所有內(nèi)容,所以就不能再使用export default進(jìn)行導(dǎo)出(ts會(huì)報(bào)錯(cuò)A module cannot have multiple default exports!?。┰摴俜浇忉屧斠?jiàn)script setup

icon-default.png?t=N7T8

在閱讀官方文檔的時(shí)候也是意外發(fā)現(xiàn)了最終的解決方案(在Using Custom Directives處,可以搜索一下)或者看我下面截圖(不一定能正常顯示,看得到最好啦??)

這里使用本地自定義指令,對(duì)于前端小白來(lái)說(shuō)是一個(gè)新東西,根據(jù)官網(wǎng)的代碼示例來(lái)改寫(xiě)代碼就有了最終成功版本,此時(shí)每當(dāng)頁(yè)面加載到這個(gè)h1標(biāo)簽時(shí)候,就會(huì)執(zhí)行vMonitorDirective中定義的beforeMount添加監(jiān)控器,防止網(wǎng)站刷新時(shí)候被kill掉。最終測(cè)試結(jié)果也是正和我意,完美解決問(wèn)題在此記錄一下

const vMonitorDirective = {
  beforeMount: () => {
    // do something with the element
    onPageRender();
  }
}

// 綁定處,注意命名規(guī)范
<h1 v-Monitor-directive class="page-title">Orders</h1>

到此這篇關(guān)于vue實(shí)現(xiàn)頁(yè)面渲染時(shí)候執(zhí)行某需求的示例代碼的文章就介紹到這了,更多相關(guān)vue 頁(yè)面渲染執(zhí)行某需求內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • vue數(shù)據(jù)控制視圖源碼解析

    vue數(shù)據(jù)控制視圖源碼解析

    本篇內(nèi)容給大家詳細(xì)分析了關(guān)于vue數(shù)據(jù)控制視圖的源碼以及重點(diǎn)做了注釋?zhuān)信d趣的朋友參考學(xué)習(xí)下。
    2018-03-03
  • VUE 無(wú)限層級(jí)樹(shù)形數(shù)據(jù)結(jié)構(gòu)顯示的實(shí)現(xiàn)

    VUE 無(wú)限層級(jí)樹(shù)形數(shù)據(jù)結(jié)構(gòu)顯示的實(shí)現(xiàn)

    在做項(xiàng)目中,會(huì)遇到一些樹(shù)形的數(shù)據(jù)結(jié)構(gòu),常用在左側(cè)菜單導(dǎo)航,本文就介紹一下如何實(shí)現(xiàn),感興趣的可以了解一下
    2021-07-07
  • vue添加vue-awesome-swiper輪播組件方式

    vue添加vue-awesome-swiper輪播組件方式

    這篇文章主要介紹了vue添加vue-awesome-swiper輪播組件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vue3.0透?jìng)鲗傩院褪录氖褂梅绞脚e例

    vue3.0透?jìng)鲗傩院褪录氖褂梅绞脚e例

    這篇文章主要給大家介紹了關(guān)于vue3.0透?jìng)鲗傩院褪录褂玫南嚓P(guān)資料,透?jìng)鱝ttribute指的是傳遞給一個(gè)組件,卻沒(méi)有被該組件聲明為props或emits的attribute或者v-on事件監(jiān)聽(tīng)器,需要的朋友可以參考下
    2024-01-01
  • Vue3前端與Python(Django)后端接口簡(jiǎn)單代碼示例

    Vue3前端與Python(Django)后端接口簡(jiǎn)單代碼示例

    這篇文章主要介紹了如何使用Django創(chuàng)建項(xiàng)目和應(yīng)用,配置跨域訪問(wèn),并編寫(xiě)視圖和API,同時(shí)還講述了如何使用Vue3創(chuàng)建項(xiàng)目,編寫(xiě)組件調(diào)用后端API,需要的朋友可以參考下
    2025-01-01
  • Vue實(shí)現(xiàn)大屏頁(yè)面的屏幕自適應(yīng)

    Vue實(shí)現(xiàn)大屏頁(yè)面的屏幕自適應(yīng)

    這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)大屏頁(yè)面的屏幕自適應(yīng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • vue項(xiàng)目中使用pinyin轉(zhuǎn)換插件方式

    vue項(xiàng)目中使用pinyin轉(zhuǎn)換插件方式

    這篇文章主要介紹了vue項(xiàng)目中使用pinyin轉(zhuǎn)換插件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 使用Vue3實(shí)現(xiàn)一個(gè)穿梭框效果的示例代碼

    使用Vue3實(shí)現(xiàn)一個(gè)穿梭框效果的示例代碼

    這篇文章主要給大家介紹了如何使用?Vue3?實(shí)現(xiàn)一個(gè)穿梭框效果,當(dāng)選中數(shù)據(jù),并且點(diǎn)擊相對(duì)應(yīng)的方向箭頭時(shí),選中的數(shù)據(jù)會(huì)發(fā)送到對(duì)面,并且數(shù)據(jù)會(huì)保持正確的順序進(jìn)行排列,文中有詳細(xì)的代碼講解,具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-12-12
  • Vue編譯優(yōu)化實(shí)現(xiàn)流程詳解

    Vue編譯優(yōu)化實(shí)現(xiàn)流程詳解

    編譯優(yōu)化指的是編譯器將模板編譯為渲染函數(shù)的過(guò)程中,盡可能多的提取關(guān)鍵信息,并以此指導(dǎo)生成最優(yōu)代碼的過(guò)程,優(yōu)化的方向主要是區(qū)分動(dòng)態(tài)內(nèi)容和靜態(tài)內(nèi)容,并針對(duì)不同的內(nèi)容采用不同的優(yōu)化策略
    2023-01-01
  • 如何用Vite構(gòu)建工具快速創(chuàng)建Vue項(xiàng)目

    如何用Vite構(gòu)建工具快速創(chuàng)建Vue項(xiàng)目

    Vite是一個(gè)web開(kāi)發(fā)構(gòu)建工具,由于其原生?ES?模塊導(dǎo)入方法,它允許快速提供代碼,下面這篇文章主要給大家介紹了關(guān)于如何用Vite構(gòu)建工具快速創(chuàng)建Vue項(xiàng)目的相關(guān)資料,需要的朋友可以參考下
    2022-05-05

最新評(píng)論