电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

淺析vue中的nextTick

瀏覽:5日期:2022-10-15 13:19:20
背景

vue是異步渲染的,當data改變之后,DOM不會立刻被渲染,頁面渲染時會將data的修改做整合,多次data修改只會做整合最后一次性渲染出來,這也是異步渲染的原因。只有異步渲染才可以實現(xiàn)整合操作。

例子

methods: { update() { for (let i = 0; i < 10; i++) { this.testNum = this.testNum + i; } },},

在你的 Vue 視圖中, testNum 會發(fā)生變化。不過需要注意的是這個變化的過程,雖然我們把 firstNum 循環(huán)修改了 10 次,但是實際上它只會把最后一次的值更新到視圖上——這也是非常合理的,比如說我們這個 demo 里,每一次循環(huán)給 testNum 的賦值只不過是一個過程,最終的目的是拿到 10 次循環(huán)的計算結(jié)果而已。如果我們硬去算 10 次,那么不必要的性能開銷必然是令人肉疼的。

需求

我們需要對data修改后并拿到DOM,對DOM進行操作解決,

例子

<template> <div id='app'> <ul ref='ul1'> <li v-for='(v, i) in list' :key='i'>{{ v }}</li> </ul> <button @click='add'>add DOM</button> </div></template><script>export default { name: 'app', data() { return { list: ['a', 'b', 'c'], }; }, methods: { add() { this.list.push(`${Date.now()}`); this.list.push(`${Date.now()}`); this.list.push(`${Date.now()}`); const ulElem = this.$refs.ul1; console.log(ulElem.childNodes.length); }, },};</script>

淺析vue中的nextTick

本來點擊完之后數(shù)組長度應(yīng)該輸出6個,但是實際上數(shù)組長度只有3個,因為data改變后,DOM并不會立刻改變,此時我們是拿不到新增的節(jié)點的,這時候的DOM節(jié)點還是一開始的a,b,c 。DOM操作執(zhí)行完之后,它再異步渲染。

不過我們的期望是點擊完之后立刻拿到后面的三個,這時候就需要請出我們的主角nextTick。

add() { this.list.push(`${Date.now()}`); this.list.push(`${Date.now()}`); this.list.push(`${Date.now()}`); const ulElem = this.$refs.ul1; this.$nextTick(() => { console.log(ulElem.childNodes.length); }); },

淺析vue中的nextTick

這個例子也可以看出,$nextTick會待DOM渲染完成再回調(diào),同時也可以看出,我們雖然一次點擊有三次修改data,但是多次修改會進行整合,最后渲染一次,這也說明渲染也是異步的,如果是同步,就沒辦法整合。

以上就是淺析vue中的nextTick的詳細內(nèi)容,更多關(guān)于vue中的nextTick的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 超声波破碎仪-均质乳化机(供应杭州,上海,北京,广州,深圳,成都等地)-上海沪析实业有限公司 | 橡胶弹簧|复合弹簧|橡胶球|振动筛配件-新乡市永鑫橡胶厂 | 济南办公室装修-厂房装修-商铺装修-工装公司-山东鲁工装饰设计 | 蓄电池在线监测系统|SF6在线监控泄露报警系统-武汉中电通电力设备有限公司 | 纸布|钩编布|钩针布|纸草布-莱州佳源工艺纸布厂 | 红立方品牌应急包/急救包加盟,小成本好项目代理_应急/消防/户外用品加盟_应急好项目加盟_新奇特项目招商 - 中红方宁(北京) 供应链有限公司 | 亿立分板机_曲线_锯片式_走刀_在线式全自动_铣刀_在线V槽分板机-杭州亿协智能装备有限公司 | 铝合金重力铸造_铝合金翻砂铸造_铝铸件厂家-东莞市铝得旺五金制品有限公司 | 广州中央空调回收,二手中央空调回收,旧空调回收,制冷设备回收,冷气机组回收公司-广州益夫制冷设备回收公司 | 低粘度纤维素|混凝土灌浆料|有机硅憎水粉|聚羧酸减水剂-南京斯泰宝 | 合肥仿石砖_合肥pc砖厂家_合肥PC仿石砖_安徽旭坤建材有限公司 | 包塑丝_高铁绑丝_地暖绑丝_涂塑丝_塑料皮铁丝_河北创筹金属丝网制品有限公司 | 蒸压釜-陶粒板隔墙板蒸压釜-山东鑫泰鑫智能装备有限公司 | 哔咔漫画网页版在线_下载入口访问指引| 热回收盐水机组-反应釜冷水机组-高低温冷水机组-北京蓝海神骏科技有限公司 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 磷酸肌酸二钠盐,肌酐磷酰氯-沾化欣瑞康生物科技| 缠膜机|缠绕包装机|无纺布包装机-济南达伦特机械设备有限公司 | 石英粉,滑石粉厂家,山东滑石粉-莱州市向阳滑石粉有限公司 | 房间温控器|LonWorks|海思 | 山东聚盛新型材料有限公司-纳米防腐隔热彩铝板和纳米防腐隔热板以及钛锡板、PVDF氟膜板供应商 | 厂房出租_厂房出售_产业园区招商_工业地产&nbsp;-&nbsp;中工招商网 | 样品瓶(色谱样品瓶)百科-浙江哈迈科技有限公司 | 杭州高温泵_热水泵_高温油泵|昆山奥兰克泵业制造有限公司 | 巩义市科瑞仪器有限公司| 民用音响-拉杆音响-家用音响-ktv专用音响-万昌科技 | 活性氧化铝球|氧化铝干燥剂|分子筛干燥剂|氢氧化铝粉-淄博同心材料有限公司 | 大鼠骨髓内皮祖细胞-小鼠神经元-无锡欣润生物科技有限公司 | 凝胶成像系统(wb成像系统)百科-上海嘉鹏 | 磁力加热搅拌器-多工位|大功率|数显恒温磁力搅拌器-司乐仪器官网 | 涡街流量计_LUGB智能管道式高温防爆蒸汽温压补偿计量表-江苏凯铭仪表有限公司 | SDG吸附剂,SDG酸气吸附剂,干式酸性气体吸收剂生产厂家,超过20年生产使用经验。 - 富莱尔环保设备公司(原名天津市武清县环保设备厂) | 螺旋绞龙叶片,螺旋输送机厂家,山东螺旋输送机-淄博长江机械制造有限公司 | 钢结构-钢结构厂房-钢结构工程[江苏海逵钢构厂] | 头条搜索极速版下载安装免费新版,头条搜索极速版邀请码怎么填写? - 欧远全 | HV全空气系统_杭州暖通公司—杭州斯培尔冷暖设备有限公司 | 天津市能谱科技有限公司-专业的红外光谱仪_红外测油仪_紫外测油仪_红外制样附件_傅里叶红外光谱技术生产服务厂商 | 咖啡加盟,咖啡店加盟连锁品牌-卡小逗| 废气处理_废气处理设备_工业废气处理_江苏龙泰环保设备制造有限公司 | 悬浮拼装地板_篮球场木地板翻新_运动木地板价格-上海越禾运动地板厂家 | 铸钢件厂家-铸钢齿轮-减速机厂家-淄博凯振机械有限公司 |