From 9dd578d05d78317590f958d607f239d4c8eddd28 Mon Sep 17 00:00:00 2001 From: wanganxp Date: Sun, 3 Nov 2024 01:18:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=8E=B7=E5=8F=96element?= =?UTF-8?q?=E7=9A=84=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/api/get-element-by-id.md | 7 ++++--- docs/tutorial/idref.md | 6 ++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/docs/api/get-element-by-id.md b/docs/api/get-element-by-id.md index 249ec96b..30870db8 100644 --- a/docs/api/get-element-by-id.md +++ b/docs/api/get-element-by-id.md @@ -5,11 +5,12 @@ **注意:** \ -本方法获取的元素,是页面栈栈顶(不包括 dialogPage)的页面的元素,而不是执行本方法代码所在的页面的元素。\ -因为uni是全局api,只有`this.$refs`才能和页面绑定。\ +uni是全局api,本方法获取的元素,是页面栈栈顶(不包括 dialogPage)的页面的元素,而不是执行本方法代码所在的页面的元素。\ 如果A页面被栈顶的B页面盖住,在A页面执行`uni.getElementById`会访问到B页面的元素。\ -除非您确认清楚这个逻辑,否则不建议使用本方法。\ +如需寻找特定页面上的Element,应使用[UniPage对象的getElementById方法](../api/get-current-pages.md#getelementbyid) + +如果不确定当前页面是不是在页面栈顶,则推荐使用ref方式,`this.$refs`可以和当前代码调用的页面绑定。\ 与页面绑定的获取元素的方式是`this.$refs`获取的对象再进一步as为element。[详见](../tutorial/idref.md#ref方式) diff --git a/docs/tutorial/idref.md b/docs/tutorial/idref.md index 0f96762c..a1094234 100644 --- a/docs/tutorial/idref.md +++ b/docs/tutorial/idref.md @@ -79,11 +79,13 @@ uni-app x中,web、小程序、vue这3类概念都支持,所以id、ref、El #### Element方式 -uni-app x提供了[uni.getElementById](../api/get-element.md)方法,返回的是[Element](../dom/unielement.md)类型。 +uni-app x提供了[uni.getElementById](../api/get-element.md)等多种方法获取[Element](../dom/unielement.md)类型。 通用的元素操作方法,比如getAttribute、setStyle,在Element上就可以操作。 -但是由于本方法不与页面绑定,获取的是栈顶页面的element,所以可能发生预期外的情况,[详见](../api/get-element.md) +获取Element有很多方法,全局方法[uni.getElementById](../api/get-element.md)、[UniPage的getElementById](../api/get-current-pages.md#getelementbyid) + +还可以通过this.refs获取到vue实例然后as为Element。[见下](#ref方式) UniVideoElement 继承自 UniElement,拥有video专用的一批方法。 -- GitLab