您现在的位置:首页 >> 前端 >> 内容

VueJs中$refs的理解

时间:2018/2/2 11:44:10 点击:

  核心提示:(一) 官方说明:vm.$refs / this.$refs一个对象,持有已注册过 ref 的所有子组件.ref 被用于给元素和子组件注册引用信息, 该引用将会注册在父组件的 $ref 对象上.如果在...

(一) 官方说明:

vm.$refs / this.$refs

一个对象,持有已注册过 ref 的所有子组件.

ref 被用于给元素和子组件注册引用信息, 该引用将会注册在父组件的 $ref 对象上.

如果在普通的 DOM 元素上, 引用指向的则是 DOM 元素, 如果指向的是子组件上, 引用就指向组件实例.

即: 可以获取子组件的 data 和 methods 等.

当 v-for 用于元素或组件的时候,引用信息将是包含 DOM 节点或组件实例的数组。

关于 ref 注册时间的重要说明:因为 ref 本身是作为渲染结果被创建的,在初始渲染的时候你不能访问它们 - 它们还不存在!$refs 也不是响应式的,因此你不应该试图用它在模板中做数据绑定。

(二) 理解

作用于 DOM 元素时:

类似于 jQuery 操作 DOM 结构.

作用于 component 时:

父组件 $refs 获取的子组件实例 (data methods) 等.

在大多数情况下,通过 this.$refs 来访问其它组件的上下文是可以避免的。在使用的的时候你需要注意避免调用了不恰当的组件 API,所以应该尽量避免使用 this.$refs。

Tags:VU UE EJ JS 
作者:网络 来源:kayron的博客