Vue實(shí)現(xiàn)監(jiān)聽(tīng)dom節(jié)點(diǎn)寬高變化方式
原生js方法
該方法適用所有vue項(xiàng)目,原生js開(kāi)發(fā)的思維
<div ref="datas"> <div class="scroll_box" ref="scroll" style="width:20%;height: 20%;overflow:scroll;position: absolute;left: 0;top: 0;background-color: #000;"> <div class="scroll_child" style="width:300%;height: 300%;"></div> </div> <div class="scroll_box2" ref="scroll2" style="width:20%;height: 20%;overflow:scroll;position: absolute;left: 0;top: 0;background-color: #000;"> <div class="scroll_child" style="width:300px;height: 300px;"></div> </div> </div>
mounted(){ // 監(jiān)聽(tīng)節(jié)點(diǎn)寬高變小 (this.$refs.scroll as HTMLElement).scrollTop = 1000; (this.$refs.scroll as HTMLElement).scrollLeft = 1000; (this.$refs.scroll as HTMLElement).addEventListener('scroll', () => { this.width = ((this.$refs.datas as Vue).$el as HTMLElement).offsetWidth; (this.$refs.scroll2 as HTMLElement).scrollTop = 1000; (this.$refs.scroll2 as HTMLElement).scrollLeft = 1000; }); // 監(jiān)聽(tīng)節(jié)點(diǎn)寬高變大 (this.$refs.scroll2 as HTMLElement).scrollTop = 1000; (this.$refs.scroll2 as HTMLElement).scrollLeft = 1000; (this.$refs.scroll2 as HTMLElement).addEventListener('scroll', () => { this.width = ((this.$refs.datas as Vue).$el as HTMLElement).offsetWidth; (this.$refs.scroll as HTMLElement).scrollTop = 1000; (this.$refs.scroll as HTMLElement).scrollLeft = 1000; }) }
element-ui element-resize-detector插件
vue + element 開(kāi)發(fā)項(xiàng)目時(shí)的首選,簡(jiǎn)單有效
<div ref="datas"></div>
mounted(){ let erd = elementResizeDetectorMaker(); erd.listenTo((this.$refs.datas as Vue).$el, (element: HTMLElement) => { this.width = element.offsetWidth; }) }
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue實(shí)現(xiàn)textarea固定輸入行數(shù)與添加下劃線(xiàn)樣式的思路詳解
這篇文章主要介紹了使用Vue實(shí)現(xiàn)textarea固定輸入行數(shù)與添加下劃線(xiàn)樣式的思路詳解,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-06-06vue監(jiān)聽(tīng)滾動(dòng)條頁(yè)面滾動(dòng)動(dòng)畫(huà)示例代碼
Vue是一套用于構(gòu)建用戶(hù)界面的漸進(jìn)式框架,與其它大型框架不同的是,Vue?被設(shè)計(jì)為可以自底向上逐層應(yīng)用,下面這篇文章主要給大家介紹了關(guān)于vue監(jiān)聽(tīng)滾動(dòng)條頁(yè)面滾動(dòng)動(dòng)畫(huà)的相關(guān)資料,需要的朋友可以參考下2023-06-06webpack+vue-cil 中proxyTable配置接口地址代理操作
這篇文章主要介紹了webpack+vue-cil 中proxyTable配置接口地址代理操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07vant?toast?關(guān)閉棧溢出問(wèn)題及解決
這篇文章主要介紹了vant?toast?關(guān)閉棧溢出問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05詳解Vue-Cli 異步加載數(shù)據(jù)的一些注意點(diǎn)
本篇文章主要介紹了詳解Vue-Cli 異步加載數(shù)據(jù)的一些注意點(diǎn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08vue中動(dòng)態(tài)select的使用方法示例
這篇文章主要介紹了vue中動(dòng)態(tài)select的使用方法,結(jié)合實(shí)例形式分析了vue.js使用動(dòng)態(tài)select創(chuàng)建下拉菜單相關(guān)實(shí)現(xiàn)技巧與操作注意事項(xiàng),需要的朋友可以參考下2019-10-10vue如何實(shí)現(xiàn)拖動(dòng)圖片進(jìn)行排序Vue.Draggable
這篇文章主要介紹了vue如何實(shí)現(xiàn)拖動(dòng)圖片進(jìn)行排序Vue.Draggable,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04最適應(yīng)的vue.js的form提交涉及多種插件【推薦】
這篇文章主要介紹了最適應(yīng)的vue.js的form提交涉及多種插件,涉及到 vue.js動(dòng)態(tài)添加css樣式 ,tab切換 ,touch,表單提交,驗(yàn)證,toast,數(shù)據(jù)雙向綁定等。需要的朋友可以參考下2018-08-08