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

vue3如何使用ref獲取元素

 更新時間:2022年05月24日 09:35:03   作者:只會cv的小前端  
這篇文章主要介紹了vue3如何使用ref獲取元素,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

vue3使用ref獲取元素

在vue2.x中,可以通過給元素添加ref='xxx'屬性,然后在代碼中通過this.$refs.xxx獲取到對應的元素

然而在vue3中時沒有$refs這個東西的,因此vue3中通過ref屬性獲取元素就不能按照vue2的方式來獲取

vue3需要借助生命周期方法,原因很簡單,在setup執(zhí)行時,template中的元素還沒掛載到頁面上,所以必須在mounted之后才能獲取到元素。

<template>
  <div ref='box'>I am DIV</div>
</template>
<script>
import {ref,onMounted}
export default{
  setup(){
    let box = ref(null);
    onMounted(()=>{
      console.log(box.value)
    });
    return {box}
  }
}
</script>

vue3中ref的理解

1.什么是ref?

ref和reactive一樣,也是用來實現(xiàn)響應式數(shù)據(jù)的方法

由于reactive必須傳遞一個對象,所以在實際開發(fā)中如果只是想讓某個變量實現(xiàn)響應式的時候回非常麻煩

所以Vue3提供了ref方法實現(xiàn)簡單值得監(jiān)聽

2.ref本質

ref底層其實還是reactive,所以當運行時系統(tǒng)會自動根據(jù)傳入的ref轉換成reactive.

3.ref注意點

在vue中使用ref的值不用通過value獲取

在js中使用ref的值必須通過value獲取

在這里插入圖片描述

4.ref獲取元素

在vue2中我們可以通過給元素添加ref=‘xxx’,然后在代碼中通過refs.xxx的方式來獲取元素,在vue3中也可以通過ref來獲取元素.

但不是像以下這種熟悉的方式,因為在vue3中沒有$和refs這些東西.

錯誤示范

在這里插入圖片描述

正確寫法

<template>
? <div>
? ? <div ref="box">我是div</div>
? </div>
</template>
<script>
import { ref,onMounted } from "vue";
export default {
? setup() {
? ? let box = ref(null); //本質是reactive({value:null})
? ? // 需要在生命周期獲取
? ? onMounted(()=>{
? ? ? // 當界面掛載出來后就會自動執(zhí)行
? ? ? console.log(box.value);
? ? })
? ? //接受的是null,原因是setup執(zhí)行時機比mounted早,dom還沒形成
? ? console.log(box.value);
? ? return { box };
? },
};
</script>

在這里插入圖片描述

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

相關文章

  • 詳細講解vue2+vuex+axios

    詳細講解vue2+vuex+axios

    在vue2項目中,組件間相互傳值或者后臺獲取的數(shù)據(jù)需要供多個組件使用的情況很多的情況下(后臺獲取數(shù)據(jù)存入vuex,組件之間共享數(shù)據(jù)),那么就需要用vuex來管理這些。
    2017-05-05
  • Vue.js實現(xiàn)價格計算器功能

    Vue.js實現(xiàn)價格計算器功能

    這篇文章主要為大家詳細介紹了Vue.js實現(xiàn)價格計算器功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Vue 自適應高度表格的實現(xiàn)方法

    Vue 自適應高度表格的實現(xiàn)方法

    這篇文章主要介紹了Vue 自適應高度表格的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • VUEX 數(shù)據(jù)持久化,刷新后重新獲取的例子

    VUEX 數(shù)據(jù)持久化,刷新后重新獲取的例子

    今天小編就為大家分享一篇VUEX 數(shù)據(jù)持久化,刷新后重新獲取的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • vue項目中swiper輪播active圖片實現(xiàn)居中并放大

    vue項目中swiper輪播active圖片實現(xiàn)居中并放大

    這篇文章主要介紹了vue項目中swiper輪播active圖片實現(xiàn)居中并放大方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • vue中使用$emit傳遞多個參數(shù)的2種方法

    vue中使用$emit傳遞多個參數(shù)的2種方法

    這篇文章主要給大家介紹了關于vue中如何使用$emit傳遞多個參數(shù)的2種方法,在Vue中可以使用$emit方法向父組件傳遞數(shù)據(jù),文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-10-10
  • vue實現(xiàn)橫向斜切柱狀圖

    vue實現(xiàn)橫向斜切柱狀圖

    這篇文章主要為大家詳細介紹了vue實現(xiàn)橫向斜切柱狀圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Vue3+vite路由配置優(yōu)化(自動化導入)

    Vue3+vite路由配置優(yōu)化(自動化導入)

    這篇文章主要介紹了Vue3+vite路由配置優(yōu)化(自動化導入),需要的朋友可以參考下
    2023-09-09
  • highCharts提示框中顯示當前時間的方法

    highCharts提示框中顯示當前時間的方法

    今天小編就為大家分享一篇關于highCharts提示框中顯示當前時間的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Vue 動態(tài)組件與 v-once 指令的實現(xiàn)

    Vue 動態(tài)組件與 v-once 指令的實現(xiàn)

    這篇文章主要介紹了Vue 動態(tài)組件與 v-once 指令的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-02-02

最新評論