vue2(2),砥砺前行,深度好文

// 使用

this.$refs.list // 值是一个数组

结论:在 vue1.x 中:

v-el 给 DOM 元素注册一个索引,便于通过所属实例的 $els 访问这个元素。

v-ref 子组件注册一个索引,便于直接访问,可以通过父组件的 $refs 对象访问子组件。


vue2.x如何获取 DOM?

=============================================================================

那么,在 vue2.x 中,上面两种情况要如何处理呢?

一个 ref 就可以了

ref 被用来给元素或子组件注册引用信息。引用信息将会注册在父组件的 $refs 对象上。如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素;如果用在子组件上,引用就指向组件实例:

hello

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

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


扩展:

这意味着原来

v-el:my-element 将写成这样:ref="myElement"

v-ref:my-component 变成了这样:ref="myComponent"

绑定在一般元素上时,ref 指 DOM 元素,绑定在组件上时,ref 为一组件实例。

因为 v-ref 不再是一个指令而是一个特殊的属性,它也可以被动态定义了。这样和 v-for 结合的时候是很有用的:

以前 v-el / v-refv-for 一起使用将产生一个 DOM 数组或者组件数组,因为没法给每个元素一个特定名字。现在你还仍然可以这样做,给每个元素一个同样的 ref

和 1.x 中 不同,$refs 不是响应的,因为它们在渲染过程中注册/更新。只有监听变化并重复渲染才能是它们响应。

另一方面,设计 $refs 主要是提供给 js 程序访问的,并不建议在模版中过度依赖使用它。因为这意味着在实例之外去访问实例状态,未被了 Vue 数据驱动的思想。

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
img

❤️ 谢谢支持

喜欢的话别忘了 关注、点赞哦~。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

前端校招面试题精编解析大全

赞哦~。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

[外链图片转存中…(img-aPECCqEw-1710696425480)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值