Vue3中操作dom的四种方式,建议收藏!!!
创始人
2024-12-18 11:07:45
0

文章目录

  • 前言
  • 一、通过 ref 拿到 dom 的引用
    • 适用场景
    • 示例代码
  • 二、通过父容器的 ref 遍历拿到 dom 引用
    • 适用场景
    • 示例代码
  • 三、通过子组件 emit 传递 ref
    • 适用场景
    • 示例代码
  • 四、通过 :ref 将 dom 引用放到数组中
    • 适用场景
    • 示例代码
  • 总结


前言

最近主管提出了许多优化用户体验的要求,其中很多涉及 dom 操作。本文将 Vue3 中常见的 dom 操作总结了一下。觉得文章不错、或对自己开发有所帮助,欢迎点赞收藏!


一、通过 ref 拿到 dom 的引用

   

通过对 div 元素添加 ref 属性,为了获取到这个元素,我们声明了一个与 ref 属性名称相同的变量,然后通过 [变量名].value 的形式即可获取该 div 元素。

适用场景

  • 单一 dom 元素或者个数较少的场景

示例代码

     

二、通过父容器的 ref 遍历拿到 dom 引用

通过对父元素添加 ref 属性,并声明一个与 ref 属性名称相同的变量 list,此时通过 list.value 会获得包含子元素的 dom 对象。此时可以通过 list.value.children[index] 的形式获取子元素 dom

     

三、通过子组件 emit 传递 ref

通过对子组件添加 ref 属性,并声明一个与 ref 属性名称相同的变量 childRef,此时通过 emitchildRef.value 作为一个 dom 引用传递出去。

   

适用场景

  • 多个页面都可能有操作组件 dom 的场景

示例代码

     
     

四、通过 :ref 将 dom 引用放到数组中

通过 :ref 循环调用 setRefAction 方法,该方法会默认接收一个 el 参数,这个参数就是我们需要获取的 div 元素。

   

此时可以通过 state.refList[index] 的形式获取子元素 dom

适用场景

  • 通过 v-for 循环生成的不固定数量或者多种元素的场景。

示例代码

     

总结

经过了不断探索终于完成了,事后想了一下还是自己的本事不到家,以后还是需要不断提升自己的能力 ~ ~ ~

相关内容

热门资讯

带你了解!新畅游互娱科技,微信... 带你了解!新畅游互娱科技,微信小程序嘟嘟十三张脚本,爆料教程(有挂方式)是一款可以让一直输的玩家,快...
透视计算!微乐广西小程序,雀神... 透视计算!微乐广西小程序,雀神广东麻将必赢方法,2025新版教程(有挂工具);一、微乐广西小程序AI...
热点推荐!盛世透视辅助器(辅助... 热点推荐!盛世透视辅助器(辅助挂)真是有开挂辅助神器(果真有挂)热点推荐!盛世透视辅助器(辅助挂)真...
一分钟了解!潮汕馆辅助(辅助挂... 一分钟了解!潮汕馆辅助(辅助挂)总是有开挂辅助安装(有挂细节);1、超多福利:超高返利,海量正版游戏...
分享给玩家!极速猜一猜辅助,新... 分享给玩家!极速猜一猜辅助,新超凡软件辅助,我来教教你(有挂总结)是一款可以让一直输的玩家,快速成为...
我来向大家传授!微乐小程序辅助... 我来向大家传授!微乐小程序辅助开挂,广东雀神智能插件安装可测试,力荐教程(真的有挂);1.微乐小程序...
技术分享!牛总管辅助神器(辅助... 技术分享!牛总管辅助神器(辅助挂)起初有开挂辅助器(有挂存在);技术分享!牛总管辅助神器(辅助挂)起...
最新技巧!杭麻圈辅助工具(辅助... 最新技巧!杭麻圈辅助工具(辅助挂)确实有开挂辅助器(有挂解惑)1、杭麻圈辅助工具ai辅助优化,杭麻圈...
最新技巧!财神十三章安装包,新... 最新技巧!财神十三章安装包,新众亿辅助,可靠技巧(有挂详细);最新技巧!财神十三章安装包,新众亿辅助...
透视真的!微信小程序游戏辅助器... 透视真的!微信小程序游戏辅助器,雀友会潮汕麻将开挂辅助,实用技巧(有挂透明挂);透视真的!微信小程序...