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

在vue.js渲染完界面之后如何再調(diào)用函數(shù)

 更新時間:2022年07月02日 09:14:18   作者:ruanhongbiao  
這篇文章主要介紹了在vue.js渲染完界面之后如何再調(diào)用函數(shù)的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

vue.js渲染完界面后調(diào)用函數(shù)

在使用vue.js框架的時候,有時候會希望在頁面渲染完成之后,再執(zhí)行函數(shù)方法來處理初始化相關(guān)的操作,如果只處理頁面位置、寬或者高時,必須要在頁面完全渲染之后才可以,頁面沒有加載完成之前,獲取到的寬高不準確。

使用過jquery的都知道,有個ready方法可以使用,但vue.js則需要結(jié)合watch和nextTick方法來使用。

1.下面開始介紹下

在頁面加載一個數(shù)據(jù)列表完成之后,頁面自動滾動定位到中間某個列表元素,需要在列表數(shù)據(jù)渲染完成,計算列表高度,再控制定位到指定行。

首先介紹下一開始嘗試沒有生效的方案,這也是大家最容易出現(xiàn)錯誤的地方,vue.js提供的mounted函數(shù),表示掛載到實例上去之后調(diào)用該鉤子。

2.運行之后

發(fā)現(xiàn)mounted執(zhí)行的時候,獲取到的height值不對,打個斷點也可以發(fā)現(xiàn),此時頁面沒有渲染完成,列表塊還是一片空白

3.此時查詢官方api文檔發(fā)現(xiàn)

有一個nextTick方法,意思是在下次 DOM 更新循環(huán)結(jié)束之后執(zhí)行延遲回調(diào)。

在修改數(shù)據(jù)之后立即使用這個方法,獲取更新后的 DOM。

使用之后發(fā)現(xiàn),還是不能解決我所需要的效果

4.繼續(xù)查詢api文檔發(fā)現(xiàn)

watch方法,用于觀察Vue實例上的數(shù)據(jù)變動。

對應(yīng)一個對象,鍵是觀察表達式,值是對應(yīng)回調(diào),再次嘗試,運行后發(fā)現(xiàn)還是不行

5.最終把watch和nextTick組合一起

watch:{ ? ?
	showList:function(){ ? ? ? ?
	this.goPrice(0); ? ?
}}

showList對應(yīng)表格頁面的綁定變量

<tr v-for="(item,index) in showList">

6.運行后發(fā)現(xiàn)

已經(jīng)達到了預(yù)期的效果

最后說明下,有時候我們會想到使用setTimeout的方式來實現(xiàn),使用這種方式需要設(shè)置個超時執(zhí)行時間,由于渲染時間無法確定,有快有慢,就會出現(xiàn)不穩(wěn)定的現(xiàn)象。

vue渲染完成事件

vue里面本身帶有兩個回調(diào)函數(shù)

  • 一個是`Vue.nextTick(callback)`,當(dāng)數(shù)據(jù)發(fā)生變化,更新后執(zhí)行回調(diào)。
  • 另一個是`Vue.$nextTick(callback)`,當(dāng)dom發(fā)生變化,更新后執(zhí)行的回調(diào)。

栗子:

...
<ul id="demo">
? ? <li v-for="item in list">{{item}}</div>
</ul>
...
new Vue({
? ? el:'#demo',
? ? data:{
? ? ? ? list=[0,1,2,3,4,5,6,7,8,9,10]
? ? },
? ? methods:{
? ? ? ? push:function(){
? ? ? ? ? ? this.list.push(11);
? ? ? ? ? ? this.nextTick(function(){
? ? ? ? ? ? ? ? alert('數(shù)據(jù)已經(jīng)更新')
? ? ? ? ? ? });
? ? ? ? ? ? this.$nextTick(function(){
? ? ? ? ? ? ? ? alert('v-for渲染已經(jīng)完成')
? ? ? ? ? ? })
? ? ? ? }
? ? }
})

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

相關(guān)文章

  • Vue實現(xiàn)類似Spring官網(wǎng)圖片滑動效果方法

    Vue實現(xiàn)類似Spring官網(wǎng)圖片滑動效果方法

    這篇文章主要介紹了Vue實現(xiàn)類似Spring官網(wǎng)圖片滑動效果方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • vue中__ob__:?Observer的踩坑記錄

    vue中__ob__:?Observer的踩坑記錄

    這篇文章主要介紹了vue中__ob__:?Observer的踩坑記錄,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 用vue-cli開發(fā)vue時的代理設(shè)置方法

    用vue-cli開發(fā)vue時的代理設(shè)置方法

    今天小編就為大家分享一篇用vue-cli開發(fā)vue時的代理設(shè)置方法,具有很好的參考價值。希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • 如何解決npm i下載依賴的時候出現(xiàn)某依賴版本沖突

    如何解決npm i下載依賴的時候出現(xiàn)某依賴版本沖突

    這篇文章主要介紹了如何解決npm i 下載依賴的時候出現(xiàn)某依賴版本沖突問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue?router?路由守衛(wèi)詳解

    Vue?router?路由守衛(wèi)詳解

    這篇文章主要為大家介紹了Vue?router?路由守衛(wèi),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • vue獲取參數(shù)的幾種方式總結(jié)

    vue獲取參數(shù)的幾種方式總結(jié)

    這篇文章主要介紹了vue獲取參數(shù)的幾種方式總結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Vue中子組件不能修改父組件傳來的Prop值的原因分析

    Vue中子組件不能修改父組件傳來的Prop值的原因分析

    在Vue中,父子組件之間通過Prop和Event實現(xiàn)了數(shù)據(jù)的雙向綁定,但是,Vue設(shè)計者為什么不允許子組件修改父組件傳遞的Prop呢,本文就來帶大家探究為什么子組件不能修改Prop,需要的朋友可以參考下
    2023-06-06
  • Vue?Electron實現(xiàn)輸入法自動刷字數(shù)功能詳解

    Vue?Electron實現(xiàn)輸入法自動刷字數(shù)功能詳解

    這篇文章主要介紹了Vue?Electron實現(xiàn)輸入法自動刷字數(shù)功能,文中的示例代碼講解詳細,對我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-12-12
  • 詳解用vue.js和laravel實現(xiàn)微信授權(quán)登陸

    詳解用vue.js和laravel實現(xiàn)微信授權(quán)登陸

    本篇文章主要介紹了詳解用vue.js和laravel實現(xiàn)微信授權(quán)登陸,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Vue3使用element-plus實現(xiàn)彈窗效果

    Vue3使用element-plus實現(xiàn)彈窗效果

    本文主要介紹了Vue3使用element-plus實現(xiàn)彈窗效果,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07

最新評論

青浦区| 九龙县| 双江| 许昌市| 旺苍县| 永和县| 通许县| 田东县| 安岳县| 金秀| 海伦市| 栾城县| 环江| 齐齐哈尔市| 汝阳县| 黄陵县| 沾化县| 唐山市| 手游| 隆尧县| 绥阳县| 望谟县| 永兴县| 社旗县| 道真| 陵水| 镇赉县| 奉新县| 莱芜市| 大邑县| 梨树县| 东乌| 麻阳| 顺昌县| 基隆市| 新津县| 咸丰县| 尼木县| 无极县| 聂荣县| 嘉黎县|