欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue?3?中動態(tài)獲取高寬的思路詳解

 更新時間:2023年10月14日 09:46:18   作者:牧碼士  
這篇文章主要介紹了Vue3中動態(tài)獲取高寬,實現思路大概是將監(jiān)聽到的高度賦給你需要設置的對象,本文通過實例代碼給大家介紹的非常詳細,需要的朋友一起看看吧

應用場景: 一般用于父組件動態(tài)變換寬高,子組件需要同步修改寬高

實現簡介 : Vue3 寫法

思路:

1.監(jiān)聽父組件的 寬高

2.將監(jiān)聽到的高度賦給 你需要設置的對象

 :: 引入監(jiān)聽 并實現 如何得到動態(tài)寬度 (此時的 div2 會與 divDom  寬度會保持一致)

<template>
    <div ref="divDom"></div> //你可以手動或者換成可拖拉伸縮的盒子
    <div ref= "div2" :style="{'width':leftShowWith.with}"></div>
</template>
 
第一種  獲取方式
<script setup>
import {useResizeObserver} from "@vueuse/core";
const divDom =ref();
const leftShowWith  = reactive({
  with:'500px'
});
useResizeObserver(divDom , (entries) => {
  const entry = entries[0]
  const { width, height } = entry.contentRect
  console.log(`width: ${width}, height: ${height}`)
  console.log(`${width}px`)
  leftShowWith.with = `${width}px`;
})
</script>

一些補充的知識

1、了解 如何獲取組件的對象 

<template>
    <div ref="divDom"></div>
</template>
第一種  獲取方式
<script setup>
    import { ref, getCurrentInstance } from 'vue';
    const divDom = ref(null);
    onMounted(()=>{
        console.log('獲取dom元素',divDom)
    })
    // 獲取頁面的實例對象
    const pageInstance = getCurrentInstance();
    // 獲取dom節(jié)點對象
    const tagDomObj = pageInstance.refs.divDom;
 
</script>
第一種  獲取方式
<script setup>
const divDom =ref();
</script>

2、了解 如何獲取元素中的寬高

<div ref="init"></div> 
寫在 頁面 方法 部分
這里的 offsetHeight 是返回元素的寬度(包括元素寬度、內邊距和邊框,不包括外邊距)
let height= this.$refs.init.$el.offsetHeight;  
let height= divDom.VALUE.$el.offsetHeight;   // 在Vue3 中的寫法
 
這里的offsetHeight可以替換,用來獲取其他的屬性
offsetWidth       //返回元素的寬度(包括元素寬度、內邊距和邊框,不包括外邊距)
offsetHeight      //返回元素的高度(包括元素高度、內邊距和邊框,不包括外邊距)
clientWidth        //返回元素的寬度(包括元素寬度、內邊距,不包括邊框和外邊距)
clientHeight       //返回元素的高度(包括元素高度、內邊距,不包括邊框和外邊距)
style.width         //返回元素的寬度(包括元素寬度,不包括內邊距、邊框和外邊距)
style.height       //返回元素的高度(包括元素高度,不包括內邊距、邊框和外邊距)
scrollWidth       //返回元素的寬度(包括元素寬度、內邊距和溢出尺寸,不包括邊框和外邊距),無溢出的情況,與clientWidth相同
scrollHeigh       //返回元素的高度(包括元素高度、內邊距和溢出尺寸,不包括邊框和外邊距),無溢出的情況,與clientHeight相同
除此之外,還可以獲取帶有單位的數值
let height = window.getComputedStyle(this.$refs.init).height; 
這樣獲取的值是有單位的。

到此這篇關于Vue 3 中動態(tài)獲取高寬的文章就介紹到這了,更多相關vue3動態(tài)獲取高寬內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • vue編譯器util工具使用方法示例

    vue編譯器util工具使用方法示例

    這篇文章主要為大家介紹了vue編譯器util工具使用方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • vue.js打包之后可能會遇到的坑!

    vue.js打包之后可能會遇到的坑!

    這篇文章主要給大家介紹了關于vue.js打包之后可能會遇到的一些坑,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-06-06
  • vue實現骨架屏的示例

    vue實現骨架屏的示例

    這篇文章主要介紹了vue實現骨架屏的示例,幫助大家更好的理解和學習使用vue框架,感興趣的朋友可以了解下
    2021-04-04
  • vue如何使用swiper插件修改左右箭頭的默認樣式

    vue如何使用swiper插件修改左右箭頭的默認樣式

    這篇文章主要介紹了vue如何使用swiper插件修改左右箭頭的默認樣式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • vue-pdf插件實現pdf文檔預覽方式(自動分頁預覽)

    vue-pdf插件實現pdf文檔預覽方式(自動分頁預覽)

    這篇文章主要介紹了vue-pdf插件實現pdf文檔預覽方式(自動分頁預覽),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 前端vue3打印功能實現(多頁打印、不使用插件)

    前端vue3打印功能實現(多頁打印、不使用插件)

    在Vue項目中實現打印功能是前端開發(fā)中常見需求之一,這篇文章主要介紹了前端vue3打印功能實現的全部過程,文中介紹的方法實現了多頁打印并且不使用插件,需要的朋友可以參考下
    2024-09-09
  • 詳解Vue的Pinia如何做到刷新不丟數據

    詳解Vue的Pinia如何做到刷新不丟數據

    Pinia 是 Vue 3 的官方推薦狀態(tài)管理庫,旨在替代 Vuex,提供更簡單、直觀的狀態(tài)管理解決方案,Pinia 的設計理念是簡單、易于學習和使用,本文給大家詳細介紹了Vue的Pinia如何做到刷新不丟數據,需要的朋友可以參考下
    2025-01-01
  • vue自定義穿梭框支持遠程滾動加載的實現方法

    vue自定義穿梭框支持遠程滾動加載的實現方法

    這篇文章主要介紹了vue自定義穿梭框支持遠程滾動加載,iview是全局注入,基本使用原先的類名進行二次創(chuàng)建公共組件,修改基礎js實現邏輯,本文結合實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-08-08
  • Vue觸發(fā)隱藏input file的方法實例詳解

    Vue觸發(fā)隱藏input file的方法實例詳解

    這篇文章主要介紹了Vue觸發(fā)隱藏input file的方法實例詳解,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-08-08
  • Vue實現數字動畫的幾種方案

    Vue實現數字動畫的幾種方案

    本文介紹了三種使用Vue實現動態(tài)數字動畫的方案:使用Vue的響應式數據與`setInterval`逐步更新數字,通過Vue的動畫API和CSS動畫效果為數字增加過渡效果,以及使用更高效的`requestAnimationFrame`來提供更加流暢的動畫表現,每種方案都詳細說明了原理、實現步驟和代碼示例
    2025-02-02

最新評論