uniapp 獲取dom信息(封裝獲取元素信息工具函數)

在uniapp開發中,需要獲取到dom的信息,需要用到uniapp的指定方式

uni.createSelectorQuery(),但是每次需要用到的時候都需要很長一段的繁瑣代碼,本篇文章將呈現獲取dom信息方法封裝,話不多說,上菜:

getDomInfo(id, that) {return new Promise((resolve, reject) => {if (!id) return reject('id/類名 不能為空')if (!that) return reject('this指向不能為空')const query = uni.createSelectorQuery().in(that);query.select(id).boundingClientRect(data => {// console.log("節點離頁面頂部的距離為" + data.height);resolve(data || {})}).exec();})
},

因為uni.createSelectorQuery()是一個異步方法,所以封裝的時候將其封裝在一個Promise里面,其方法需要傳入兩個參數(元素id/類名,當前頁面的this),下面舉例使用:

<template><view class="page"><view class="dom"></view></view>
</template><script>
export default {async mounted() {let domInfo = await this.$util.getDomInfo('.dom', this);},
}
</script><style lang="scss" scoped>
.dom{width: 250rpx;height: 500rpx;
}
</style>

注:該方法需要早mounted掛載后使用才行,要不無法獲取到dom信息

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/899550.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/899550.shtml
英文地址,請注明出處:http://en.pswp.cn/news/899550.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux之數據鏈路層

Linux之數據鏈路層 一.以太網1.1以太網幀格式1.2MAC地址1.3MTU 二.ARP協議2.1ARP協議工作流程2.2ARP協議格式 三.NAT技術四.代理服務4.1正向代理4.2反向代理 五.四大層的學習總結 一.以太網 在我們學習完了網絡層后我們接下來就要進入數據鏈路層的學習了&#xff0c;在學習完網…

MySQL的基礎語法2(函數-字符串函數、數值函數、日期函數和流程函數 )

目錄 一、字符串函數 1.常見字符串函數 ?編輯 2.字符串函數的基本使用 3.字符串函數的數據庫案例演示 二、數值函數 1.常見數值函數&#xff08;如下&#xff09;&#xff1a; 2.數值函數的基本使用 3.數值函數的數據庫案例演示 三、日期函數 1.常見的日期函數 2.日…

全新版租賃商城小程序源碼系統 源碼開源支持二開+圖文搭建教程

在互聯網商業的浪潮中&#xff0c;租賃業務憑借其獨特的優勢&#xff0c;正逐漸成為市場的新寵。對于開發者而言&#xff0c;快速搭建一個功能完備的租賃商城小程序&#xff0c;不僅能滿足市場需求&#xff0c;還能為自己的業務拓展帶來新的機遇。分享一款全新版租賃商城小程序…

Cent OS7+Docker+Dify

由于我之前安裝了Dify v1.0.0&#xff0c;出現了一些問題&#xff1a;無法刪除&#xff0c;包括&#xff1a;知識庫中的文件、應用、智能體、工作流&#xff0c;都無法刪除。現在把服務器初始化&#xff0c;一步步重新安裝&#xff0c;從0到有。 目錄 1、服務器重裝系統和配置…

OSI 七層模型和四層模型(TCP/IP 模型)

文章目錄 前言一、OSI 七層模型二、TCP/IP 四層模型三、運行協議及設備1. OSI 七層模型2. TCP/IP 四層模型3. 運行協議4. 各類設備的作用 總結 前言 OSI 七層模型和四層模型&#xff08;TCP/IP 模型&#xff09;是兩種常見的網絡協議分層架構&#xff0c;它們的主要區別如下&a…

AI的未來:機遇、挑戰與發展方向

&#x1f4dd;個人主頁&#x1f339;&#xff1a;一ge科研小菜雞-CSDN博客 &#x1f339;&#x1f339;期待您的關注 &#x1f339;&#x1f339; 1. 引言 人工智能&#xff08;AI&#xff09;已經成為當今世界最具革命性的技術之一&#xff0c;它正在深刻改變各個行業&#x…

javascript實現一個函數,將字符串中的指定子串全部替換為另一個字符串的原理,以及多種方法實現。

大白話javascript實現一個函數&#xff0c;將字符串中的指定子串全部替換為另一個字符串的原理&#xff0c;以及多種方法實現。 在JavaScript里&#xff0c;要是你想把字符串里的指定子串都替換成另外一個字符串&#xff0c;有不少方法可以實現。下面我會詳細介紹實現的原理&a…

硬件基礎--16_公式梳理

公式梳理 歐姆定律: IU/R 1.歐姆定律有局限性&#xff0c;僅適用于純電阻電路(或者說純電阻元器件&#xff0c;純電阻設備) 2.純電阻電路:消耗的電能僅轉化為熱能&#xff0c;沒有其他形式的能量轉換。 功率計算:PUI 1.導出公式:PU2 /R 2.導出公式:PI2 R 焦耳定律:QI2 Rt 1.導…

npm i 出現的網絡問題

npm i 出現的網絡問題 解決方案&#xff1a; npm config list 查看.npmrc文件中是否配置了proxy刪除.npmrc文件中的proxy&#xff0c;保存。重新執行npm i命令。 順便說說解決這個問題的心里路程 每次安裝vue的環境的時候&#xff0c;經常遇到npm安裝一些插件或者是依賴的時…

使用vue cli 5.0 在vscode中運行vue命令報錯

1、運行 vue -- version 報錯 2、在cmd 命令行 執行 vue --version 正常 3、在終端中輸入 get-ExecutionPolicy&#xff0c;查看當前權限 4、執行 set-executionpolicy remotesigned 命令設置為可用模式&#xff0c;但是報錯 5、使用管理員打開power shell 執行 G…

瑞芯微 RKrga接口 wrapbuffer_virtualaddr 使用筆記

一、源碼 官方在librga中給了很多 demo 以供參考&#xff0c;例如 imresize 操作&#xff1a; /** Copyright (C) 2022 Rockchip Electronics Co., Ltd.* Authors:* YuQiaowei <cerf.yurock-chips.com>** Licensed under the Apache License, Version 2.0 (the &qu…

Spring MVC:從歷史演變到實戰入門

1. Java Web的發展歷史與MVC模式 1.1 Model I與Model II的演進 Model I&#xff08;JSPJavaBean&#xff09; 作為早期Java Web開發的主流模式&#xff0c;其核心架構如下&#xff1a; graph LR A[客戶端] --> B[JSP頁面] B --> C{業務邏輯} C --> D[JavaBean] D -…

AI賦能,防御無界:群聯云防護如何顛覆傳統DDoS防御格局?

一、AI驅動的動態防御體系 智能流量調度 群聯云防護通過AI算法實時分析流量特征&#xff0c;動態分配清洗節點。當檢測到攻擊時&#xff0c;系統能在秒級內將流量切換至備用節點&#xff0c;避免單點過載。相較傳統高防IP依賴靜態規則&#xff0c;群聯的調度策略可減少50%的誤封…

R --- Error in library(***) : there is no package called ‘***’ (服務器非root用戶)

步驟 步驟一&#xff1a;在自己目錄下創建R包安裝路徑步驟二&#xff1a;配置用戶本地的R庫路徑步驟三&#xff1a;安裝缺失的包&#xff08;在終端&#xff09;步驟四&#xff1a;驗證安裝 步驟一&#xff1a;在自己目錄下創建R包安裝路徑 mkdir -p ~/R_libs步驟二&#xff1…

HarmonyOS NEXT狀態管理實踐

在HarmonyOS NEXT開發中&#xff0c;狀態管理是構建高效、響應式應用的核心。本文深入探討狀態管理的最佳實踐&#xff0c;結合代碼示例與案例分析&#xff0c;幫助開發者掌握這一關鍵技能。 一、狀態管理裝飾器的合理使用 HarmonyOS NEXT提供多種狀態管理裝飾器&#xff0c;…

excel 時間戳 轉日期

在Excel中&#xff0c;將時間戳轉換為日期格式&#xff0c;可以使用以下步驟和方法&#xff1a; 一、了解時間戳 時間戳&#xff08;Timestamp&#xff09;通常是從1970年1月1日&#xff08;UTC時間&#xff09;開始的秒數或毫秒數。這個時間點被稱為“Unix紀元”或“Unix時間…

Python CSV 數據分析:問題排查與解決全記錄

Python CSV 數據分析&#xff1a;問題排查與解決全記錄 前段時間&#xff0c;我接到一個任務&#xff0c;需要對公司的銷售數據進行分析。這些數據存儲在 CSV 文件里&#xff0c;本想著用 Python 處理起來會很輕松&#xff0c;結果卻狀況百出。下面&#xff0c;就跟大家講講我…

一些常用開發軟件下載地址

1. Matlab官方下載地址 MATLAB Runtime 是運行由 MATLAB 編譯的應用程序&#xff08;如 .exe、.jar 或 .dll&#xff09;所必需的組件&#xff0c;無需安裝完整 MATLAB。 &#x1f517; MathWorks 官方下載頁面&#xff1a; https://www.mathworks.com/products/compiler/mat…

06-SpringBoot3入門-常見注解(簡介)

1、Controller ResponseBody Controller是Spring MVC 中的注解&#xff0c;負責處理 HTTP 請求。 ResponseBody是Spring MVC 中的注解&#xff0c;用于直接將方法的返回值作為 HTTP 響應體。 2、RestController RestController Controller ResponseBody 3、RequestMappin…

ubuntu24.04.2 NVIDIA GeForce RTX 4060筆記本安裝驅動

https://www.nvidia.cn/drivers/details/242281/ 上面是下載地址 sudo chmod x NVIDIA-Linux-x86_64-570.133.07.run # 賦予執行權限把下載的驅動復制到家目錄下&#xff0c;基本工具準備&#xff0c;如下 sudo apt update sudo apt install build-essential libglvnd-dev …