不要在选项 property 或回调上使用箭头函数

Posted 前端精髓

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不要在选项 property 或回调上使用箭头函数相关的知识,希望对你有一定的参考价值。

不要在选项 property 或回调上使用箭头函数,比如

created: () => console.log(this.a) 

vm.$watch('a', newValue => this.myMethod())

因为箭头函数并没有 this,this 会作为变量一直向上级词法作用域查找,直至找到为止,经常导致 Uncaught TypeError: Cannot read property of undefined 或 Uncaught TypeError: this.myMethod is not a function 之类的错误。

正确用法:

Vue.createApp({
  data() {
    return { count: 1}
  },
  created() {
    // `this` 指向 vm 实例
    console.log('count is: ' + this.count) // => "count is: 1"
  }
})

以上是关于不要在选项 property 或回调上使用箭头函数的主要内容,如果未能解决你的问题,请参考以下文章

vue箭头函数注意事项

菜鸟遇到vue小坑

uni-app使用Vue.js

为啥在初始页面加载时多次调用 React Ref 回调(作为箭头函数或内联函数)?

打字稿 - 在箭头(回调)函数中使用它 - 猫鼬

5.事件处理