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

Vue中使用setTimeout問題

 更新時(shí)間:2023年01月22日 10:48:12   作者:<s>LoCloudy</s>  
這篇文章主要介紹了Vue中使用setTimeout問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Vue使用setTimeout

今天使用setTimeout 來修改一個(gè)變量的值以實(shí)現(xiàn)提示框的自動(dòng)消失。

先是這樣寫,結(jié)果發(fā)現(xiàn)函數(shù)被調(diào)用了,但是不是在3秒后。

然后呢,我給加了引號(hào),確實(shí)是3秒后觸發(fā)了,但是

好像是指向有些不對(duì),查了一些資料后成功實(shí)現(xiàn)目標(biāo),

用以下兩種格式寫都可以成功調(diào)用自己寫的方法

使用setTimeout存在的潛在問題

在開發(fā)項(xiàng)目中遇到這樣的序曲,點(diǎn)擊按鈕彈框,每次進(jìn)入的時(shí)候都需要默認(rèn)選中Android,

這個(gè)時(shí)候就遇到了一個(gè)小坑,當(dāng)用戶點(diǎn)擊彈框后,選擇iOS,再點(diǎn)擊cancel或者OK,樓主在開發(fā)的時(shí)候,點(diǎn)擊cancel按鈕,執(zhí)行下面代碼

 this.showDialog = false; // 關(guān)閉彈框
 this.createForm.platform = "Android"; // 重置下拉框的默認(rèn)選擇項(xiàng)為Android
 this.createForm.secureCoreVersion = ""; // 清空輸入框的東西

然后

這幾行代碼在邏輯上看是正確的邏輯,但是實(shí)際頁面上顯示的樣子,卻不一樣,點(diǎn)擊cancel按鈕的時(shí)候,彈框關(guān)閉,但是彈框會(huì)在關(guān)閉前的一刻,下拉框選中的iOS 會(huì)閃一下,變成Android,體驗(yàn)不是很好,

于是,樓主想到了使用setTimeout來解決問題,遂寫成如下代碼

this.showDialog = false;
setTimeout(() => {
      this.createForm.platform = "Android";
      this.createForm.secureCoreVersion = "";
}, 500);

把清空彈框里面表單的東西放在了定時(shí)器里面,這樣就能避免在點(diǎn)擊關(guān)閉按鈕的時(shí)候,下拉框選項(xiàng)閃一下,變成默認(rèn)選項(xiàng)Android的問題。

但是,過了1天,有個(gè)同事跑過來跟我說,樓主的寫法存在一定的潛藏風(fēng)險(xiǎn),那就是使用了setTimeout定時(shí)器來處理這個(gè)問題,

他的回答是:定時(shí)器一般只能用在寫動(dòng)畫里面,日常的業(yè)務(wù)邏輯層代碼盡量不要使用定時(shí)器,因?yàn)槎〞r(shí)器雖然表面上能解決這個(gè)問題,但是,如果用戶在設(shè)置的500毫秒以內(nèi)再次點(diǎn)擊cancel按鈕,就會(huì)出現(xiàn)問題,定時(shí)器的原理實(shí)際上就是把js執(zhí)行的這段代碼拿到一個(gè)宏任務(wù)里面,最后執(zhí)行

于是乎,p7水平的同事,跟我這樣說,可以換一種思路,

  • 可以在點(diǎn)擊彈框彈出來的時(shí)候把彈框里面的選項(xiàng)都進(jìn)行重置,不需要在關(guān)閉彈框的時(shí)候進(jìn)行重置,其實(shí)是一個(gè)逆向思維的問題,在一開始點(diǎn)擊彈框打開的時(shí)候直接重置參數(shù),這樣就能巧妙的繞過在關(guān)閉彈框出現(xiàn)的問題
  • 通過elementUI dialog 組件自帶的 closed 回調(diào)函數(shù)來解決問題

elementUI 的官網(wǎng)里面關(guān)于dialog彈框,封裝了在關(guān)閉動(dòng)畫結(jié)束時(shí)執(zhí)行的回調(diào)函數(shù),直接在這個(gè)回調(diào)函數(shù)里面執(zhí)行重置選項(xiàng)的邏輯就好了

上代碼

最后小樓采用的是第二種方法來解決閃現(xiàn)的問題的

總結(jié)

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

相關(guān)文章

  • Vue.js如何使用Socket.IO的示例代碼

    Vue.js如何使用Socket.IO的示例代碼

    這篇文章主要介紹了Vue.js如何使用Socket.IO的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 詳解vue組件化開發(fā)-vuex狀態(tài)管理庫

    詳解vue組件化開發(fā)-vuex狀態(tài)管理庫

    本篇文章主要介紹了詳解vue組件化開發(fā)-vuex狀態(tài)管理庫,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-04-04
  • 詳解Vue中的Props與Data細(xì)微差別

    詳解Vue中的Props與Data細(xì)微差別

    這篇文章主要介紹了詳解Vue中的Props與Data細(xì)微差別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • VUE2.0 ElementUI2.0表格el-table自適應(yīng)高度的實(shí)現(xiàn)方法

    VUE2.0 ElementUI2.0表格el-table自適應(yīng)高度的實(shí)現(xiàn)方法

    在開發(fā)中,需要表格控件根據(jù)瀏覽器高度進(jìn)行調(diào)整,固定表頭,本文主要介紹了VUE2.0 ElementUI2.0表格el-table自適應(yīng)高度的實(shí)現(xiàn)方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-11-11
  • Vue3 + TypeScript 開發(fā)總結(jié)

    Vue3 + TypeScript 開發(fā)總結(jié)

    本文直接上 Vue3 + TypeScript + Element Plus 開發(fā)的內(nèi)容,感興趣的話一起來看看吧
    2021-08-08
  • vue基礎(chǔ)ESLint?Prettier配置教程詳解

    vue基礎(chǔ)ESLint?Prettier配置教程詳解

    這篇文章主要介紹了vue基礎(chǔ)ESLint?Prettier配置教程詳解,本文使用VsCode?+?Vue?+?ESLint?+?Prettier?實(shí)現(xiàn)代碼格式規(guī)范?+?保存自動(dòng)修復(fù)代碼js+vue
    2022-07-07
  • vue文件代碼縮進(jìn)以及格式化代碼方式[自定義]

    vue文件代碼縮進(jìn)以及格式化代碼方式[自定義]

    這篇文章主要介紹了vue文件代碼縮進(jìn)以及格式化代碼方式[自定義],具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue中如何自定義右鍵菜單詳解

    vue中如何自定義右鍵菜單詳解

    這篇文章主要給大家介紹了關(guān)于vue中如何自定義右鍵菜單的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 深入淺析Vue.js計(jì)算屬性和偵聽器

    深入淺析Vue.js計(jì)算屬性和偵聽器

    這篇文章主要介紹了Vue.js計(jì)算屬性和偵聽器的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-05-05
  • vue如何獲取當(dāng)前url地址加端口號(hào)

    vue如何獲取當(dāng)前url地址加端口號(hào)

    這篇文章主要介紹了vue如何獲取當(dāng)前url地址加端口號(hào)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09

最新評(píng)論

织金县| 肇州县| 柞水县| 松溪县| 江永县| 和静县| 巴中市| 晋宁县| 锦屏县| 来宾市| 沭阳县| 肥乡县| 武乡县| 延安市| 滨海县| 达日县| 凤阳县| 大荔县| 西丰县| 巴南区| 许昌县| 张北县| 梧州市| 牙克石市| 宿迁市| 江油市| 东丰县| 长沙县| 云阳县| 咸阳市| 莲花县| 志丹县| 新疆| 禹州市| 灵山县| 邛崃市| 雷州市| 阜新| 青龙| 清涧县| 盐津县|