vue3如何獲取綁定頁面dom元素
vue3獲取綁定頁面dom元素
和vue2一樣,vue3也可以在頁面上通過ref綁定一個(gè)變量,
<div ref="domRef"></div>
但vue2使用this.$refs可以獲取綁定的變量,而vue3雖然已經(jīng)刪除了this,但可以用以下方法綁定元素
在setup方法中使用vue提供的ref綁定元素,網(wǎng)上大部分是使用
import { onMounted, ref } from "vue";
export default{
setup() {
const domRef = ref(null)
onMounted(() => {
console.log(domRef.value)
})
retrurn {
domRef
}
}
}其實(shí)這還有優(yōu)化的空間,我們使用vue3比較重要的是使用ts語法,那么怎么指定ref綁定的dom的class對(duì)象呢,
我們可以不用在ref中寫null,在ref中指定某個(gè)類的原型,那么value就是這個(gè)類的對(duì)象,
我們可以使用js本身就有的Element對(duì)象,也可以自定義一個(gè),
最終代碼如下所示:
① Ele.ts文件
用于聲明class類局部使用,也可以使用.d.ts文件直接全局聲明
export default class Ele {
// eslint-disable-next-line @typescript-eslint/no-empty-function
constructor() {}
clientHeight!: number;
clientWidth!: number;
style!: {
top: number | string;
left: number | string;
bottom: number | string;
right: number | string;
display: "inline-block" | "none";
};
}② 通過Ele綁定ref
import { onMounted, ref } from "vue";
import Ele from "@/class/Ele";
export default{
setup() {
const domRef = ref(Ele.prototype)
onMounted(() => {
const dom: Ele = domRef.value;
console.log(dom)
})
retrurn {
domRef
}
}
}總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue 行為驗(yàn)證碼之滑動(dòng)驗(yàn)證AJ-Captcha使用詳解
這篇文章主要介紹了vue 行為驗(yàn)證碼之滑動(dòng)驗(yàn)證AJ-Captcha使用詳解,AJ-Captcha不需要npm安裝,只需要將組件 verifition復(fù)制到所使用的components目錄下,本文給大家詳細(xì)講解,需要的朋友可以參考下2023-05-05
vue webpack開發(fā)訪問后臺(tái)接口全局配置的方法
今天小編就為大家分享一篇vue webpack開發(fā)訪問后臺(tái)接口全局配置的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-09-09
vue實(shí)現(xiàn)簡(jiǎn)單轉(zhuǎn)盤抽獎(jiǎng)功能
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)簡(jiǎn)單轉(zhuǎn)盤抽獎(jiǎng)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
解決vue腳手架項(xiàng)目打包后路由視圖不顯示的問題
今天小編就為大家分享一篇解決vue腳手架項(xiàng)目打包后路由視圖不顯示的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-09-09

