在使用微信小程序获取子组件实例对象时,我们通常会使用this.selectComponent("#id"),然而在uniapp上是无法获取到组件对象的。该如何解决这个问题呢?我推荐大家使用 $refs ,顺便介绍一下uni-app $refs的基本用法。
$refs的基本用法:一个对象(Object),持有注册过 ref 特性 的所有 DOM 元素和组件实例。
简单的说就是通过ref="id"去注册组件,然后使用this.$refs.id获取组件的实例,进而可以使用组建的方法。
代码实现:
微信实现:
<a id="a" ></a>
this.selectComponent("#a").getB();
uniapp的实现:
//注册组件a
<a ref="a" ></a>
//获取组件a实例,然后调用组件a的getB()方法
var active = this.$refs.a;
a.getB();