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事件列表解说
Dec 22 Javascript
Flash对联广告的关闭按钮讨论
Jan 30 Javascript
在线编辑器中换行与内容自动提取
Apr 24 Javascript
javascript函数中的arguments参数
Aug 01 Javascript
Javascript动态绑定事件的简单实现代码
Dec 25 Javascript
Javascript 鼠标移动上去 滑块跟随效果代码分享
Nov 23 Javascript
jQuery如何防止这种冒泡事件发生
Feb 27 Javascript
原生js结合html5制作简易的双色子游戏
Mar 30 Javascript
vue实现打印功能的两种方法
Sep 07 Javascript
js计算两个日期间的天数月的实例代码
Sep 20 Javascript
js事件触发操作实例分析
Jun 21 Javascript
介绍一下28个JS常用数组方法
May 06 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数据类型的总结分析
2013/06/13 PHP
YII实现分页的方法
2014/07/09 PHP
PHP实现找出有序数组中绝对值最小的数算法分析
2017/08/07 PHP
JQuery中$之选择器用法介绍
2011/04/05 Javascript
javascript动态加载二
2012/08/22 Javascript
jquery mobile changepage的三种传参方法介绍
2013/09/13 Javascript
jquery 图片缩放拖动的简单实例
2014/01/08 Javascript
js获取ajax返回值代码
2014/04/30 Javascript
JS实现图片高亮展示效果实例
2015/11/24 Javascript
KnockoutJS 3.X API 第四章之表单submit、enable、disable绑定
2016/10/10 Javascript
JS正则表达式学习之贪婪和非贪婪模式实例总结
2016/12/26 Javascript
200行代码实现blockchain 区块链实例详解
2018/03/14 Javascript
AngularJS 应用模块化的使用
2018/04/04 Javascript
Vue实现底部侧边工具栏的实例代码
2018/09/03 Javascript
详解Vue.directive 自定义指令
2019/03/27 Javascript
Vue filter 过滤当前时间 实现实时更新效果
2019/12/20 Javascript
[02:52]2017DOTA2国际邀请赛中国区预选赛晋级之路
2017/07/03 DOTA
Python删除指定目录下过期文件的2个脚本分享
2014/04/10 Python
Python遍历目录的4种方法实例介绍
2015/04/13 Python
将Python代码嵌入C++程序进行编写的实例
2015/07/31 Python
树莓派采用socket方式文件传输(python)
2019/06/22 Python
python+selenium 点击单选框-radio的实现方法
2019/09/03 Python
Python帮你识破双11的套路
2019/11/11 Python
浅谈Python 函数式编程
2020/06/20 Python
Doyoueven官网:澳大利亚健身服饰和配饰品牌
2019/03/24 全球购物
Microsoft Advertising美国:微软搜索广告
2019/05/01 全球购物
超市促销实习自我鉴定
2013/09/23 职场文书
甜品蛋糕店创业计划书范文
2014/02/06 职场文书
中介公司区域经理岗位职责范本
2014/03/02 职场文书
会计学习心得体会
2014/09/09 职场文书
乡镇2014法制宣传日活动总结
2014/11/01 职场文书
2015年乡镇环保工作总结
2015/04/22 职场文书
回复函范文
2015/07/14 职场文书
《敬重卑微》读后感3篇
2019/11/26 职场文书
5种方法告诉你如何使JavaScript 代码库更干净
2021/09/15 Javascript
Linux下使用C语言代码搭建一个简单的HTTP服务器
2022/04/13 Servers