国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

解決vue項目獲取dom元素寬高總是不準確問題

瀏覽:132日期:2022-12-24 09:14:15

dom元素內部內容是動態的,重置數據后直接獲取寬高總是不準確:

this.$refs.editor[0].offsetHeight;

原因:重置數據后獲取dom元素寬高時,dom元素還未渲染完畢;

解決方法:利用Vue.nectTick(callback)

this.$nextTick(() => { this.$refs.editor[0].offsetHeight;})

Vue.nectTick() 是在下次DOM更新循環結束之后執行延遲回調

補充知識:vue 獲取 指定元素的高度寬度等(使用vue中的 ref 獲取到的是 dom 元素高度或者寬度)

使用 vue 的時候,想要獲得一個指定的元素的高度時,可以使用 vue 中的 ref 。

當 ref 加在普通的元素上,使用 this.ref.name 獲取到的是 dom 元素

示例

寫在 頁面 html 部分的

<div ref='init'></div>

寫在 頁面 方法 部分

這里的 offsetHeight 是返回元素的寬度(包括元素寬度、內邊距和邊框,不包括外邊距)

let height= this.$refs.init.$el.offsetHeight;

這里的offsetHeight可以替換,用來獲取其他的屬性

offsetWidth //返回元素的寬度(包括元素寬度、內邊距和邊框,不包括外邊距)

offsetHeight //返回元素的高度(包括元素高度、內邊距和邊框,不包括外邊距)

clientWidth //返回元素的寬度(包括元素寬度、內邊距,不包括邊框和外邊距)

clientHeight //返回元素的高度(包括元素高度、內邊距,不包括邊框和外邊距)

style.width //返回元素的寬度(包括元素寬度,不包括內邊距、邊框和外邊距)

style.height //返回元素的高度(包括元素高度,不包括內邊距、邊框和外邊距)

scrollWidth //返回元素的寬度(包括元素寬度、內邊距和溢出尺寸,不包括邊框和外邊距),無溢出的情況,與clientWidth相同

scrollHeigh //返回元素的高度(包括元素高度、內邊距和溢出尺寸,不包括邊框和外邊距),無溢出的情況,與clientHeight相同

除此之外,還可以獲取帶有單位的數值

let height = window.getComputedStyle(this.$refs.init).height;

這樣獲取的值是有單位的。

以上這篇解決vue項目獲取dom元素寬高總是不準確問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
主站蜘蛛池模板: 威信县| 阿拉善左旗| 昌黎县| 老河口市| 奇台县| 通辽市| 湖南省| 石景山区| 嘉定区| 平潭县| 柳州市| 石台县| 蓬溪县| 固镇县| 昭觉县| 墨脱县| 枣强县| 明光市| 吴旗县| 临安市| 岢岚县| 澳门| 乌拉特前旗| 兴国县| 泰安市| 巴塘县| 广安市| 林州市| 葵青区| 林甸县| 雷波县| 松潘县| 探索| 化德县| 察雅县| 丹凤县| 三江| 镇远县| 绵阳市| 古交市| 年辖:市辖区|