VueJs 学习笔记 - $refs

(一) 官方说明:

vm.$refs / this.$refs
一个对象,持有已注册过 ref 的所有子组件.

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

如果在普通的 DOM 元素上, 引用指向的则是 DOM 元素, 如果指向的是子组件上, 引用就指向组件实例.
即: 可以获取子组件的 datamethods 等.

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

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

(二) 理解

作用于 DOM 元素时:
      类似于 jQuery 操作 DOM 结构.
作用于 component 时:
      父组件 $refs 获取的子组件实例 (data methods) 等.

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

你可能感兴趣的:(VueJs)