vue获取dom元素注意事项

 更新时间:2017年12月28日 08:37:44   作者:蓓蕾心晴  
这篇文章主要介绍了vue获取dom元素注意事项及vue获取dom元素的内容,需要的朋友可以参考下

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元素注意事项,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 使用vue如何构建一个自动建站项目

    使用vue如何构建一个自动建站项目

    这篇文章主要介绍了使用vue如何构建一个自动建站项目,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • vue中配置mint-ui报css错误问题的解决方法

    vue中配置mint-ui报css错误问题的解决方法

    本篇文章主要介绍了vue中配置mint-ui报css错误问题的解决方法,非常具有实用价值,需要的朋友可以参考下
    2017-10-10
  • 一文完全掌握Vue中的$set方法

    一文完全掌握Vue中的$set方法

    这篇文章主要给大家介绍了关于如何完全掌握Vue中$set方法的相关资料,vue中$set方法对数组和对象的处理本质上的一样的,对新增的值添加响应然后手动触发派发更新,需要的朋友可以参考下
    2023-11-11
  • vue中实现图片和文件上传的示例代码

    vue中实现图片和文件上传的示例代码

    下面小编就为大家分享一篇在vue中实现图片和文件上传的示例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • vue跳转页面的几种常用方法代码示例

    vue跳转页面的几种常用方法代码示例

    这篇文章主要给大家介绍了关于vue跳转页面的几种常用方法,vue跳转页面有好几种不同方法,文中通过代码将实现的方法介绍的非常详细,对大家学习或者使用vue具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-10-10
  • vue中定时器setInterval的使用及说明

    vue中定时器setInterval的使用及说明

    这篇文章主要介绍了vue中定时器setInterval的使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 记一次Vue.js混入mixin的使用(分权限管理页面)

    记一次Vue.js混入mixin的使用(分权限管理页面)

    这篇文章主要介绍了记一次Vue.js混入mixin的使用(分权限管理页面),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • Vue使用axios进行get请求拼接参数的2种方式详解

    Vue使用axios进行get请求拼接参数的2种方式详解

    axios中post请求都是要求携带参数进行请求,这篇文章主要给大家介绍了关于Vue使用axios进行get请求拼接参数的2种方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • vue实现添加标签demo示例代码

    vue实现添加标签demo示例代码

    本篇文章主要介绍了vue实现添加标签demo示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • vue3.0透传属性和事件的使用方式举例

    vue3.0透传属性和事件的使用方式举例

    这篇文章主要给大家介绍了关于vue3.0透传属性和事件使用的相关资料,透传attribute指的是传递给一个组件,却没有被该组件声明为props或emits的attribute或者v-on事件监听器,需要的朋友可以参考下
    2024-01-01

最新评论