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

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

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

1. 前言

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

2. 試錯(cuò)

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

2.1 window.addEventListener

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

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

2.2 defineComponent

由于本人的項(xiàng)目是ts+vue的編譯,一開始沒想到用這個(gè),就有了如下測(cè)試,即是在defineComponent中使用mounted鉤子函數(shù),每當(dāng)頁面動(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() {
          // 在這里編寫你的頁面渲染邏輯
          onPageRender();
        },
    });
</script>

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

3. 解決方案

在上圖中使用 <script setup> 來定義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?。。┰摴俜浇忉屧斠?a rel="external nofollow" target="_blank">script setup

icon-default.png?t=N7T8

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

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

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

相關(guān)文章

  • vue使用技巧及vue項(xiàng)目中遇到的問題

    vue使用技巧及vue項(xiàng)目中遇到的問題

    這篇文章主要介紹了vue使用技巧及vue項(xiàng)目中遇到的問題,本文給大家?guī)淼闹皇且徊糠?,后續(xù)還會(huì)持續(xù)更新,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-06-06
  • Vue如何通過Vue.prototype定義原型屬性實(shí)現(xiàn)全局變量

    Vue如何通過Vue.prototype定義原型屬性實(shí)現(xiàn)全局變量

    在Vue.js開發(fā)中,通過原型屬性為Vue實(shí)例添加全局變量是一種常見做法,使用$前綴命名,可以避免與組件內(nèi)部的數(shù)據(jù)、方法或計(jì)算屬性產(chǎn)生命名沖突,這種方式簡(jiǎn)單有效,確保了變量在所有Vue實(shí)例中的可用性,同時(shí)保持全局作用域的整潔
    2024-10-10
  • Vue electron前端開啟局域網(wǎng)接口實(shí)現(xiàn)流程詳細(xì)介紹

    Vue electron前端開啟局域網(wǎng)接口實(shí)現(xiàn)流程詳細(xì)介紹

    用electron寫了一個(gè)自己用的小軟件,無后端,純本地的數(shù)據(jù)。最近想著開發(fā)一個(gè)手機(jī)端app,將PC端的數(shù)據(jù)進(jìn)行同步。為了這小小的功能單獨(dú)寫個(gè)后端又麻煩。干脆前后端不分離哈哈,直接在前端軟件中開啟接口
    2022-10-10
  • VUE3函數(shù)的聲明和使用舉例

    VUE3函數(shù)的聲明和使用舉例

    這篇文章主要給大家介紹了關(guān)于VUE3函數(shù)的聲明和使用的相關(guān)資料, Vue3是一種流行的JavaScript框架,它允許開發(fā)人員構(gòu)建現(xiàn)代化的Web應(yīng)用程序,需要的朋友可以參考下
    2023-07-07
  • vue,uniapp--js禁止頁面滾動(dòng),取消滾動(dòng)方式

    vue,uniapp--js禁止頁面滾動(dòng),取消滾動(dòng)方式

    這篇文章主要介紹了vue,uniapp--js禁止頁面滾動(dòng),取消滾動(dòng)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Vue.js開發(fā)環(huán)境快速搭建教程

    Vue.js開發(fā)環(huán)境快速搭建教程

    這篇文章主要為大家詳細(xì)介紹了Vue.js開發(fā)環(huán)境快速搭建教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • vue關(guān)閉eslint檢查的方式

    vue關(guān)閉eslint檢查的方式

    這篇文章主要介紹了vue關(guān)閉eslint檢查的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue將props值實(shí)時(shí)傳遞 并可修改的操作

    Vue將props值實(shí)時(shí)傳遞 并可修改的操作

    這篇文章主要介紹了Vue將props值實(shí)時(shí)傳遞 并可修改的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Vue的輪播圖組件實(shí)現(xiàn)方法

    Vue的輪播圖組件實(shí)現(xiàn)方法

    下面小編就為大家分享一篇Vue的輪播圖組件實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • elementUI select組件默認(rèn)選中效果實(shí)現(xiàn)的方法

    elementUI select組件默認(rèn)選中效果實(shí)現(xiàn)的方法

    這篇文章主要介紹了elementUI select組件默認(rèn)選中效果實(shí)現(xiàn)的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03

最新評(píng)論

固始县| 定日县| 大港区| 东海县| 虹口区| 阿鲁科尔沁旗| 铜山县| 宁安市| 大城县| 盈江县| 谷城县| 阳高县| 新兴县| 昌江| 莱芜市| 武平县| 漳州市| 绥宁县| 蓝田县| 景洪市| 酒泉市| 双城市| 扎兰屯市| 卓尼县| 宝鸡市| 丘北县| 洛隆县| 平谷区| 江西省| 三都| 印江| 宁都县| 青田县| 师宗县| 岳阳县| 宣武区| 定结县| 定襄县| 谷城县| 木里| 建德市|