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 相关文章推荐
不懂JavaScript应该怎样学
Apr 16 Javascript
jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
Jan 19 Javascript
jquery设置按钮停顿3秒不可用
Mar 07 Javascript
jQuery 删除或是清空某个HTML元素示例
Aug 04 Javascript
JavaScript基础知识及常用方法总结
Jan 10 Javascript
AngularJS模块详解及示例代码
Aug 17 Javascript
基于iScroll实现内容滚动效果
Mar 21 Javascript
基于jQuery.i18n实现web前端的国际化
May 04 jQuery
Angular刷新当前页面的实现方法
Nov 21 Javascript
微信小程序实现图片翻转效果的实例代码
Sep 20 Javascript
vue路由守卫,限制前端页面访问权限的例子
Nov 11 Javascript
vue远程加载sfc组件思路详解
Dec 25 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
为php4加入动态flash文件的生成的支持
2006/10/09 PHP
约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
2010/10/12 PHP
解析PHP中一些可能会被忽略的问题
2013/06/21 PHP
php简单随机字符串生成方法示例
2017/04/19 PHP
Yii2数据库操作常用方法小结
2017/05/04 PHP
CentOS7编译安装php7.1的教程详解
2019/04/18 PHP
IE8 中使用加速器(Activities)
2010/05/14 Javascript
javascript object array方法使用详解
2012/12/03 Javascript
关于jquery中全局函数each使用介绍
2013/12/10 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
2014/06/16 Javascript
javascript正则表达式基础知识入门
2015/04/20 Javascript
javascript实现简单的省市区三级联动
2015/05/14 Javascript
JS实现黑客帝国文字下落效果
2015/09/01 Javascript
BootStrap table使用方法分析
2016/11/08 Javascript
js轮播图的插件化封装详解
2017/07/17 Javascript
基于node.js之调试器详解
2017/08/22 Javascript
js实现QQ面板拖拽效果(慕课网DOM事件探秘)(全)
2017/09/19 Javascript
React/Redux应用使用Async/Await的方法
2017/11/16 Javascript
JS原生带缩略图的图片切换效果
2018/10/10 Javascript
cocos2dx+lua实现橡皮擦功能
2018/12/20 Javascript
JS计算两个数组的交集、差集、并集、补集(多种实现方式)
2019/05/21 Javascript
解决iView Table组件宽度只变大不变小的问题
2020/11/13 Javascript
Python中static相关知识小结
2018/01/02 Python
python2.7到3.x迁移指南
2018/02/01 Python
python实现requests发送/上传多个文件的示例
2018/06/04 Python
使用pip发布Python程序的方法步骤
2018/10/11 Python
Python求两点之间的直线距离(2种实现方法)
2019/07/07 Python
python实现大学人员管理系统
2019/10/25 Python
TensorFlow tf.nn.conv2d_transpose是怎样实现反卷积的
2020/04/20 Python
经典的班主任推荐信
2013/10/28 职场文书
演讲稿开场白
2014/01/13 职场文书
希特勒经典演讲稿
2014/05/19 职场文书
科学发展观标语
2014/10/08 职场文书
2015年维修电工工作总结
2015/04/25 职场文书
升学宴学生致辞
2015/09/29 职场文书
Python实现打乒乓小游戏
2021/09/25 Python