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 相关文章推荐
两种简单实现菜单高亮显示的JS类代码
Jun 27 Javascript
javascript全局变量封装模块实现代码
Nov 28 Javascript
jquery选择checked在ie8普通模式下的问题
Feb 12 Javascript
JS将光标聚焦在文本最后的实现代码
Mar 28 Javascript
JS和css实现检测移动设备方向的变化并判断横竖屏幕
May 25 Javascript
jQuery右侧选项卡焦点图片轮播特效代码分享
Sep 05 Javascript
基于Node.js的强大爬虫 能直接发布抓取的文章哦
Jan 10 Javascript
JavaScript 基础函数_深入剖析变量和作用域
May 18 Javascript
JavaScript的Object.defineProperty详解
Jul 09 Javascript
解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题
Aug 24 Javascript
深入了解query和params的使用区别
Jun 24 Javascript
微信小程序点击保存图片到本机功能
Dec 13 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
收听短波不可能有声音清晰的品质吗
2021/03/01 无线电
php冒泡排序与快速排序实例详解
2015/12/07 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
2016/02/15 PHP
javascript 数组的方法集合
2008/06/05 Javascript
js获取指定的cookie的具体实现
2014/02/20 Javascript
jquery判断小数点两位和自动删除小数两位后的数字
2014/03/19 Javascript
js构造函数、索引数组和属性的实现方式和使用
2014/11/16 Javascript
JavaScript让网页出现渐隐渐显背景颜色的方法
2015/04/21 Javascript
jquery实现下拉框功能效果【实例代码】
2016/05/06 Javascript
javascript中的后退和刷新实现方法
2016/11/10 Javascript
Jquery树插件zTree实现菜单树
2017/01/24 Javascript
12个非常有用的JavaScript技巧
2017/05/17 Javascript
JS沙箱模式实例分析
2017/09/04 Javascript
.vue文件 加scoped 样式不起作用的解决方法
2018/05/28 Javascript
webpack+vue+express(hot)热启动调试简单配置方法
2018/09/19 Javascript
vue-router两种模式区别及使用注意事项详解
2019/08/01 Javascript
vue 兄弟组件的信息传递的方法实例详解
2019/08/30 Javascript
Vue.js中使用Vuex实现组件数据共享案例
2020/07/31 Javascript
JavaScript实现缓动动画
2020/11/25 Javascript
Python入门篇之条件、循环
2014/10/17 Python
Python基于回溯法子集树模板解决野人与传教士问题示例
2017/09/11 Python
python与caffe改变通道顺序的方法
2018/08/04 Python
简单了解python gevent 协程使用及作用
2019/07/22 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
2021/02/25 Python
微软日本官方网站:Microsoft日本
2017/11/26 全球购物
波兰家居饰品和厨房配件网上商店:Maleomi
2020/12/15 全球购物
使用索引(Index)有哪些需要考虑的因素
2016/10/19 面试题
爱情保证书范文
2014/02/01 职场文书
2014年社区庆元旦活动方案
2014/03/08 职场文书
操行评语大全
2014/04/30 职场文书
学校学习雷锋活动总结
2014/07/03 职场文书
2014年教师节座谈会发言稿
2014/09/10 职场文书
医药销售自我评价200字
2014/09/11 职场文书
Python基础之元编程知识总结
2021/05/23 Python
React实现动效弹窗组件
2021/06/21 Javascript
python中取整数的几种方法
2021/11/07 Python