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 Calendar日历控件 兼容IE9/谷歌/火狐
Jan 04 Javascript
javascript特效实现——当前时间和倒计时效果的简单实例
Jul 20 Javascript
深入浅出ES6新特性之函数默认参数和箭头函数
Aug 01 Javascript
yarn与npm的命令行小结
Oct 20 Javascript
JS验证全角与半角及相互转化的介绍
May 18 Javascript
微信小程序 检查接口状态实例详解
Jun 23 Javascript
关于TypeScript中import JSON的正确姿势详解
Jul 25 Javascript
从对象列表中获取一个对象的方法,依据关键字和值
Sep 20 Javascript
Node.js动手撸一个静态资源服务器的方法
Mar 09 Javascript
微信小程序本地存储实现每日签到、连续签到功能
Oct 09 Javascript
解决node.js含有%百分号时发送get请求时浏览器地址自动编码的问题
Nov 20 Javascript
Angular短信模板校验代码
Sep 23 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 无线电
xajax写的留言本
2006/11/25 PHP
PHP 中关于ord($str)&amp;gt;0x80的详细说明
2012/09/23 PHP
php的GD库imagettftext函数解决中文乱码问题
2015/01/24 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
JavaScript CSS 修改学习第四章 透明度设置
2010/02/19 Javascript
编写自己的jQuery插件简单实现代码
2011/04/19 Javascript
jQuery中:empty选择器用法实例
2014/12/30 Javascript
jquery实现的3D旋转木马特效代码分享
2015/08/25 Javascript
基于Javascript实现倒计时功能
2016/02/22 Javascript
jQuery 选择同时包含两个class的元素的实现方法
2016/06/01 Javascript
基于vue-resource jsonp跨域问题的解决方法
2018/02/03 Javascript
十分钟教你上手ES2020新特性
2020/02/12 Javascript
在Python中测试访问同一数据的竞争条件的方法
2015/04/23 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
2018/10/11 Python
在python中pandas的series合并方法
2018/11/12 Python
python3爬虫学习之数据存储txt的案例详解
2019/04/24 Python
Python中py文件转换成exe可执行文件的方法
2019/06/14 Python
Python如何调用JS文件中的函数
2019/08/16 Python
python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例
2020/03/05 Python
Django框架获取form表单数据方式总结
2020/04/22 Python
Python实现将元组中的元素作为参数传入函数的操作
2020/06/05 Python
html5实现微信打飞机游戏
2014/03/27 HTML / CSS
YOOX台湾:意大利奢侈品电商
2018/10/13 全球购物
Hawes & Curtis官网:英国经典品牌
2019/07/27 全球购物
男女钓鱼靴和甲板鞋:XTRATUF
2021/01/09 全球购物
就业自荐信
2013/12/04 职场文书
八年级美术教学反思
2014/02/02 职场文书
《彭德怀和他的大黑骡子》教学反思
2014/04/12 职场文书
经贸日语专业个人求职信范文
2014/04/29 职场文书
电子专业自荐信
2014/07/01 职场文书
民主生活会对照检查材料范文
2014/10/01 职场文书
商务司机岗位职责
2015/04/10 职场文书
演讲比赛通讯稿
2015/07/18 职场文书
go mod 安装依赖 unkown revision问题的解决方案
2021/05/06 Golang
Golang 语言控制并发 Goroutine的方法
2021/06/30 Golang