唯品秀博客
首页 > 前端开发 > Js前端框架 > Vue.js中ref 及 $event 事件对象

Vue.js中ref 及 $event 事件对象

2018年11月08日 作者:管理员 1421次浏览

在使用vue.js框架过程中,我们经常会听到有人说数据驱动视图,一切操作皆为操作数据,这句话没什么大毛病,只是个人感觉说这句话的人是一根筋罢了,因为js很大一部分核心就是操作DOM。即使是在框架时代,我们也无法避免这个问题。简单举个例子,如果在你渲染一个列表li,想在用户点击这个li时候增加一个一个背景颜色,那你是否需要拿到后端的数据,然后一顿循环在每个item的属性上添加一个变量开关,然后在页面去绑定这个开关,接着在点击后开始改变当前序列号index下的数据中对应的那个开关,这时候你还会遇到如果是对象属性操作,数据改变视图不更新问题,于是你还要手动更新视图。。。怎么一看,真心麻烦,vue本身就给我们提供了一系列的DOM操作方式

ref

  • 在标签上添加 ref = “name” ,表示获取当前元素节点
  • 1
    <input type="text" ref="info">
  • 获取
  • 1
    this.$refs.info.value

    获取事件对象 , 方法参数传递 $event

    1
    <button @click="Event($event)">事件对象</button>
  • 获取
  • 1
    2
    3
     Event(e){
       console.log(e)
     }
  • 打印结果:
  • 也可以获取执行事件的节点
  • 1
    2
    3
    4
    e.srcElement
    e.srcElement.parentNode //甚至还可以取它的父元素
    //设置属性 .setAttribute("属性","值")
    //获取属性 .getAttribute("属性")
  • 比如,我想给 button 按钮 添加背景颜色
  • 1
    e.srcElement.style.backgroundColor = "red"
  • 也可以通过事件对象获取自定义属性,比如,button 按钮上自定义一个属性:
  • 1
    <button data-aid="123" @click="getInfo($event)">通过事件对象获取自定义属性</button>
    1
    2
    3
    4
    getInfo(e){
         console.log(e);
         console.log(e.srcElement.dataset.aid)
      }
  • 结果:
  • 「两年博客,如果觉得我的文章对您有用,请帮助本站成长」

    赞( 0 ) 打赏

    谢谢你请我吃鸡腿*^_^*

    支付宝
    微信
    0

    谢谢你请我吃鸡腿*^_^*

    支付宝
    微信
    标签:

    上一篇:

    下一篇:

    共有 0 条评论 - Vue.js中ref 及 $event 事件对象

    博客简介

    唯品秀博客: weipxiu.com,一个关注Web前端开发技术、关注用户体验、坚持更多原创实战教程的个人网站,愿景:成为宇宙中最具有代表性的前端博客,期待您的参与,了解更多...

    精彩评论

    友情链接

    他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!

    站点统计

    • 文章总数: 180 篇
    • 草稿数目: 2 篇
    • 分类数目: 13 个
    • 页面总数: 21 个
    • 评论总数: 852 条
    • 链接总数: 14 个
    • 标签总数: 357 个
    • 建站时间: 857 天
    • 注册用户: 463 人
    • 访问总量: 8682506 次
    • 最近更新: 2019年4月21日
    服务热线:
     173xxxx7240

     QQ在线交流

     旺旺在线