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

vue3頁(yè)面加載完成后如何獲取寬度、高度

 更新時(shí)間:2023年04月24日 09:32:23   作者:賺成美業(yè)  
這篇文章主要介紹了vue3頁(yè)面加載完成后如何獲取寬度、高度問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vue3頁(yè)面加載完成后獲取寬度、高度

剛好H5項(xiàng)目有用到這個(gè)需求,頁(yè)面加載完成后獲取當(dāng)前頁(yè)面高度,記錄一下。^_^

<template>
<div class="wrap" :style="{height:hHeight+'px'}">
</div>
</template>
<script lang='ts'>
import { defineComponent, reactive, nextTick, onMounted, toRefs } from "vue";
export default defineComponent({
  name: "Aboutus",
  setup() {
    let state = reactive({
      hHeight: 0,//頁(yè)面高度
    });
  onMounted(() => {
    nextTick(()=>{
        state.hHeight = document.documentElement.clientHeight;
        console.log(document.documentElement.clientHeight)
    })
  })
  return {
      ...toRefs(state)
  }
  },
});
</script>

用vue3.2版本的也可以用語(yǔ)法糖來(lái)處理,直接上代碼:

<template>
  <div class="wrap" :style="{height:state.hHeight+'px'}">
   </div>
</template>
<script setup>
import { reactive, nextTick } from "vue"
const state = reactive({
    hHeight: 0
})
nextTick(()=>{
     state.hHeight = document.documentElement.clientHeight;
     console.log(document.documentElement.clientHeight)
 })
</script>

親測(cè)可用,大家可以試試! 

 

vue3之vue3.2獲取dom元素的寬高

知識(shí)點(diǎn):ref,nextTike

  • ref可以用于dom對(duì)象的獲取,以及創(chuàng)建一個(gè)響應(yīng)式的普通對(duì)象類型
  • nextTick是一個(gè)函數(shù),它接受一個(gè)函數(shù)作為參數(shù),nextTick官網(wǎng)定義是‘將回調(diào)推遲到下一個(gè) DOM 更新周期之后執(zhí)行’,

未使用nextTike

<!--
 * new page
 * @author: Blaine
 * @since: 2022-06-30
 * page_nextTike.vue
-->
<template>
  <div class="container" >
    <ul ref="myRef">
      <li v-for="(item, index) in pepleList" :key="index">{{ item }}</li>
    </ul>
    <button @click="addHandle">增加</button>
  </div>
</template>

<script setup lang="ts">
import { onMounted, reactive, ref, nextTick } from 'vue'
let pepleList = reactive<string[]>(['蜘蛛俠', '鋼鐵俠', '美國(guó)隊(duì)長(zhǎng)'])
const myRef = ref<HTMLElement>();
onMounted(() => {
  console.log('列表的高度是:', myRef.value?.clientHeight)
})
const addHandle =  async() => {
  pepleList.push('閃電俠')
  // await nextTick()
  console.log('列表的高度是:', myRef.value?.clientHeight)
}
</script>

<style scoped>
</style>

**注意:**這里的list并沒(méi)有立即增加

問(wèn)題在于我們改變list的值時(shí),vue并不是立刻去更新dom,而是在一個(gè)事件循環(huán)最后再去更新dom,這樣可以避免不必要的計(jì)算和dom操作,對(duì)提高性能非常重要。

那么我們需要在dom更新完成后,再去獲取ul的高度,這時(shí)候就需要用到nextTick了,

使用ref+nextTick

<!--
 * new page
 * @author: Blaine
 * @since: 2022-06-30
 * page_nextTike.vue
-->
<template>
  <div class="container" >
    <ul ref="myRef">
      <li v-for="(item, index) in pepleList" :key="index">{{ item }}</li>
    </ul>
    <button @click="addHandle">增加</button>
  </div>
</template>

<script setup lang="ts">
import { onMounted, reactive, ref, nextTick } from 'vue'
let pepleList = reactive<string[]>(['蜘蛛俠', '鋼鐵俠', '美國(guó)隊(duì)長(zhǎng)'])
const myRef = ref<HTMLElement>();
onMounted(() => {
  console.log('列表的高度是:', myRef.value?.clientHeight)
})
const addHandle =  async() => {
  pepleList.push('閃電俠')
  await nextTick()
  console.log('列表的高度是:', myRef.value?.clientHeight)
}
</script>

<style scoped>
</style>

總結(jié)

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

相關(guān)文章

  • vue+element實(shí)現(xiàn)批量刪除功能的示例

    vue+element實(shí)現(xiàn)批量刪除功能的示例

    下面小編就為大家分享一篇vue+element實(shí)現(xiàn)批量刪除功能的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • Vue響應(yīng)式原理及雙向數(shù)據(jù)綁定示例分析

    Vue響應(yīng)式原理及雙向數(shù)據(jù)綁定示例分析

    這篇文章主要為大家介紹了Vue響應(yīng)式原理及雙向數(shù)據(jù)綁定的示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Vue.js教程之a(chǎn)xios與網(wǎng)絡(luò)傳輸?shù)膶W(xué)習(xí)實(shí)踐

    Vue.js教程之a(chǎn)xios與網(wǎng)絡(luò)傳輸?shù)膶W(xué)習(xí)實(shí)踐

    這篇文章主要給大家介紹了Vue.js之a(chǎn)xios與網(wǎng)絡(luò)傳輸?shù)南嚓P(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟隨小編一起來(lái)學(xué)習(xí)學(xué)習(xí)吧。
    2017-04-04
  • vue3父子組件傳值?雙向綁定及注意問(wèn)題小結(jié)

    vue3父子組件傳值?雙向綁定及注意問(wèn)題小結(jié)

    這篇文章主要介紹了Vue3中如何通過(guò)v-model實(shí)現(xiàn)父子組件的雙向數(shù)據(jù)綁定及利用computed簡(jiǎn)化父子組件雙向綁定,本文結(jié)合示例代碼給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12
  • vue項(xiàng)目引入本地bootstrap不生效問(wèn)題及解決

    vue項(xiàng)目引入本地bootstrap不生效問(wèn)題及解決

    這篇文章主要介紹了vue項(xiàng)目引入本地bootstrap不生效問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Vue預(yù)覽圖片和視頻的幾種實(shí)現(xiàn)方式

    Vue預(yù)覽圖片和視頻的幾種實(shí)現(xiàn)方式

    本文主要介紹了Vue預(yù)覽圖片和視頻的幾種實(shí)現(xiàn)方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • vue懶加載和子組件懶加載的區(qū)別詳解

    vue懶加載和子組件懶加載的區(qū)別詳解

    這篇文章主要給大家介紹了vue懶加載和子組件懶加載有什么區(qū)別,Vue懶加載指的是對(duì)圖片等資源的延遲加載,而子組件懶加載則是指延遲加載組件實(shí)例,文中通過(guò)代碼示例給大家講解的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • iview同時(shí)驗(yàn)證多個(gè)表單問(wèn)題總結(jié)

    iview同時(shí)驗(yàn)證多個(gè)表單問(wèn)題總結(jié)

    這篇文章主要介紹了iview同時(shí)驗(yàn)證多個(gè)表單問(wèn)題總結(jié),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • 使用Webpack提高Vue.js應(yīng)用的方式匯總(四種)

    使用Webpack提高Vue.js應(yīng)用的方式匯總(四種)

    Webpack是開(kāi)發(fā)Vue.js單頁(yè)應(yīng)用程序的重要工具。下面通過(guò)四種方式給大家介紹使用Webpack提高Vue.js應(yīng)用,需要的的朋友參考下吧
    2017-07-07
  • vue中js判斷長(zhǎng)時(shí)間不操作界面自動(dòng)退出登錄(推薦)

    vue中js判斷長(zhǎng)時(shí)間不操作界面自動(dòng)退出登錄(推薦)

    這篇文章主要介紹了vue中js判斷長(zhǎng)時(shí)間不操作界面自動(dòng)退出登錄,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01

最新評(píng)論

定兴县| 建德市| 酉阳| 锡林浩特市| 额尔古纳市| 宁安市| 武城县| 万盛区| 衡阳县| 寿宁县| 土默特右旗| 中宁县| 鲁山县| 泰宁县| 河间市| 阿坝县| 大田县| 灵石县| 德庆县| 太湖县| 嘉义市| 永丰县| 米林县| 星子县| 阳东县| 高阳县| 滁州市| 剑阁县| 新晃| 天台县| 伽师县| 建德市| 白城市| 九龙县| 普安县| 伊宁市| 南华县| 乌兰县| 巴里| 上蔡县| 桂平市|