首页
   /       /   
methods方法绑定this
2月
18
methods方法绑定this
作者: 大彭Sir    分类: 随手笔记     正在检查是否收录...

为什么不能使用箭头函数?

在vue官网中可以看到这样一句话:

注意:不应该使用箭头函数来定义method函数(例如plus:()=>this.a++)。理由是箭头函数绑定了父级作用域的上下文,所以this将不会按照期望指向组件实例,this.a将是undefined。

  • 我们在methods中要使用data返回对象中的数据:

    • 那么这个this是必须有值的,并且应该可以通过this获取到data返回对象中的数据。
  • 那么我们这个this能不能是window呢?

    • 不可以是window,因为window中我们无法获取到data返回对象中的数据; p 但是如果我们使用箭头函数,那么这个this就会是window了;
  • 为什么是window呢?

    • 这里涉及到箭头函数使用this的查找规则,它会在自己的上层作用于中来查找this; p 最终刚好找到的是script作用于中的this,所以就是window;

this到底指向什么?

事实上Vue的源码当中就是对methods中的所有函数进行了遍历,并且通过bind绑定了this:

本文标签: 标签: VUE 前端 this
责任声明:本页信息由网友自行发布或来源于网络,真实性、合法性由发布人负责,请仔细甄别!本站只为传递信息,我们不做任何双方证明,也不承担任何法律责任。文章内容若侵犯你的权益,请联系本站删除!
转载声明:本文作者 大彭Sir,如需转载请保留文章出处!原文链接请自行复制!

评论

Theme By Brief 鄂ICP备19010459号

sitemap

首页

分类

友链