Vue3 中通过 ref 访问元素节点与 Vue2 不太一样,vue2中是通过this.$refs
的方式获取的。vue3中没有this,是通过声明变量的方式获取ref的。我们来看看代码中是如何实现的吧
子组件代码
1 | <template> |
子组件可以通过defineExpose 方法暴露数据。
父组件代码
1 |
|
上段代码中我们给子组件添加了ref属性,为了获取到这个元素,我们声明了一个与 ref 属性名称相同的变量 childRef
。通过childRef.value
获取子组件的信息
注意点:
- 变量名称必须要与 ref 命名的属性名称一致。
- 通过
childRef.value
的形式获取 DOM 元素。 - 必须要在 DOM 渲染完成后才可以获取
childRef.value
,否则就是 null。