唯品秀前端博客
当前位置: 前端开发 > Vue.js专区 > Vue中watch属性和methods的方法用箭头函数定义结果会怎么样?

我不知道大家有没有注意,在实际项目中你看到过别人在这两处是用箭头函数去定义的吗?好像没有,我看那些箭头狂魔写的代码也没这么弄过,那这是为啥有想过吗?

示例methods

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<template>
  <div>
    <p @click="sum">点击我吧</p>
  </div>
</template>
<script>
  export default {
    name: 'index',
    data() {
      return {
        a: 1
      };
    },
    methods: {
     sum: ()=>{
      this.a++
     }
   }
  };
</script>

结果

最终结果是你怎么点都没反应,但并没报错,this指向当前执行的方法对象{sum: {…}}。为什么?官方其实有说:不应该使用箭头函数来定义 method 函数 (例如 plus: () => sum.a++)。理由是箭头函数绑定了父级作用域的上下文,所以 this 将不会按照期望指向 Vue 实例,this.a 将是 undefined,至于watch可以自己测试下,其结果也是如此,不演示了。

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

分享到:
赞(3) 打赏
谢谢你请我吃鸡腿*^_^*

支付宝扫一扫打赏

微信扫一扫打赏

标签:

上一篇:

下一篇:

相关推荐

0 条评论关于"Vue中watch属性和methods的方法用箭头函数定义结果会怎么样?"

最新评论

    暂无留言哦~~

博客简介

一个关注Web前端开发技术、关注用户体验、坚持更多原创实战教程的个人网站,梦想一旦被付诸行动,就会变得神圣,愿景:成为宇宙中最具有代表性的前端技术类博客。主题开源 

精彩评论

  • 撤回(1个月前 (05-21))

    一样一样

    评:碎言碎语
  • xxlog(3个月前 (04-04))

    666,主题漂亮简洁

    评:碎言碎语
  • 管理员(3个月前 (03-31))

    怎么可能只能一天,我自己网站不是已经有吗,用英文状态下逗号分开追加就是,例如:[{time:...

    评:碎言碎语
  • 明明一笑很坚强(3个月前 (03-30))

    其实想知道如何在后台写时光机(如何添加另一天,只能写这一个吗,接下来的怎么写) [{time...

    评:碎言碎语
  • 女人何苦为难女人(3个月前 (03-24))

    本大仙到此一游

    评:阿里云官网(2017年)首页波纹动画案例
  • 月亮也晚安(3个月前 (03-18))

    不定期来看看,大佬就是是我前进的方向

    评:碎言碎语

友情链接

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

站点统计

  • 文章总数: 295 篇
  • 草稿数目: 0 篇
  • 分类数目: 16 个
  • 独立页面: 7 个
  • 评论总数: 989 条
  • 链接总数: 14 个
  • 标签总数: 489 个
  • 注册用户: 2 人
  • 访问总量: 9,149,716 次
  • 最近更新: 2021年6月13日
服务热线:
 173xxxx7240

 QQ在线交流

 旺旺在线