vue获取dom元素注意事项


Posted in Javascript onDecember 28, 2017
mounted(){
    setTimeout(()=>{
     this.contentToggle();
    },1000)
  },

methods:{
   contentToggle(){
    console.log(this.$refs.bodyFont.offsetHeight);
   }
  }

vue想要获取dom元素的高,一般情况下我们都可以想到写在mounted函数里,即dom加载完再获取,但是结果并不如我们所想,又想到用一个

this.$nextTick(()=>{
   
    //函数
})

来获取,发现根本没用啊/。。

所以好的办法就是用一个setTimeout定时器,时间可以设为0,但是有时候生效,有时候不生效,还是加一个小的时间值比较保险,这样就可以保证获取到的一定是dom加载后的了,该原理适用于vue中很多传值的问题,刚开始获取不到传过来的值,用一个setTimeout就可。

ps:VUE获取DOM元素内容

通过ref来获取dom元素

在vue官网上对ref的解释

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

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

比如我现在要实现的效果是点击用v-for生成的li ,获取到该元素的值

首先要获取当前点击的li元素,我们要做的是

1.给dom添加点击事件和ref属性

<li class="sidebar-list" v-for="(item, index) in meunList" @click="setPageMenu(index)" ref="menuItem">
  <router-link class="sidebar-a" :to="{ path: item.listLink }" >{{item.listTitle}}</router-link>
</li>

2.然后在点击事件方法中使用ref

setPageMenu(index) {
//这个是获取当前menuItem值,用index来区分当前元素是v-for 产生的数组中的第几个数
  let getMenuText = this.$refs.menuItem[index].innerText;
}

总结

以上所述是小编给大家介绍的vue获取dom元素注意事项,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery 实现的全选和反选
Apr 15 Javascript
编写高性能的JavaScript 脚本的加载与执行
Apr 19 Javascript
基于jquery插件制作左右按钮与标题文字图片切换效果
Nov 07 Javascript
自编jQuery插件实现模拟alert和confirm
Sep 01 Javascript
jquery实现简单Tab切换菜单效果
Jul 17 Javascript
Angular中ng-bind和ng-model的区别实例详解
Apr 10 Javascript
微信小程序网络请求wx.request详解及实例
May 18 Javascript
jQuery+ajax实现修改密码验证功能实例详解
Jul 06 jQuery
React实践之Tree组件的使用方法
Sep 30 Javascript
Angular2实现的秒表及改良版示例
May 10 Javascript
js实现页面多个日期时间倒计时效果
Jun 20 Javascript
浅谈vue-props的default写不写有什么区别
Aug 09 Javascript
vue实现文章内容过长点击阅读全文功能的实例
Dec 28 #Javascript
webpack搭建vue 项目的步骤
Dec 27 #Javascript
JS实现留言板功能[楼层效果展示]
Dec 27 #Javascript
js判断节假日实例代码
Dec 27 #Javascript
Vue的实例、生命周期与Vue脚手架(vue-cli)实例详解
Dec 27 #Javascript
Angular实现的简单查询天气预报功能示例
Dec 27 #Javascript
Angular实现点击按钮后在上方显示输入内容的方法
Dec 27 #Javascript
You might like
php gd2 上传图片/文字水印/图片水印/等比例缩略图/实现代码
2010/05/15 PHP
php实现的css文件背景图片下载器代码
2014/11/11 PHP
PHP获取二叉树镜像的方法
2018/01/17 PHP
php+mysql开发中的经验与常识小结
2019/03/25 PHP
javascript编程起步(第一课)
2007/01/10 Javascript
jquery $.fn $.fx是什么意思有什么用
2013/11/04 Javascript
实例分析javascript中的call()和apply()方法
2014/11/28 Javascript
了不起的node.js读书笔记之node.js中的特性
2014/12/22 Javascript
深入浅析knockout源码分析之订阅
2016/07/12 Javascript
微信小程序 在Chrome浏览器上运行以及WebStorm的使用
2016/09/27 Javascript
js基本算法:冒泡排序,二分查找的简单实例
2016/10/08 Javascript
Vue动态实现评分效果
2017/05/24 Javascript
ES6模块化的import和export用法方法总结
2017/08/08 Javascript
微信小程序实现之手势锁功能实例代码
2018/07/19 Javascript
JavaScript多态与封装实例分析
2018/07/27 Javascript
react国际化化插件react-i18n-auto使用详解
2020/03/31 Javascript
axios封装与传参示例详解
2020/10/18 Javascript
vant-ui AddressEdit地址编辑和van-area的用法说明
2020/11/03 Javascript
JS操作JSON常用方法(10w阅读)
2020/12/06 Javascript
Python实现partial改变方法默认参数
2014/08/18 Python
浅谈python中scipy.misc.logsumexp函数的运用场景
2016/06/23 Python
详解Python中表达式i += x与i = i + x是否等价
2017/02/08 Python
Python 绘图和可视化详细介绍
2017/02/11 Python
Python实现判断一个字符串是否包含子串的方法总结
2017/11/21 Python
python使用多进程的实例详解
2018/09/19 Python
Python安装Flask环境及简单应用示例
2019/05/03 Python
面向对象学习之pygame坦克大战
2019/09/11 Python
python 实现Flask中返回图片流给前端展示
2020/01/09 Python
Python爬虫设置ip代理过程解析
2020/07/20 Python
一些关于MySql加速和优化的面试题
2014/01/30 面试题
应聘护士自荐信
2013/10/21 职场文书
工地门卫岗位职责
2013/12/30 职场文书
防灾减灾活动总结
2014/08/30 职场文书
反腐倡廉警示教育活动心得体会
2014/09/04 职场文书
挂职个人工作总结
2015/03/05 职场文书
JavaScript执行机制详细介绍
2021/12/06 Javascript