Javascript Vue JS:data(){return{}}与data的差异:()=>;({ })

Javascript Vue JS:data(){return{}}与data的差异:()=>;({ }),javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,我很好奇这两个数据函数,这两者之间有什么区别吗 我通常看到的是 data () { return { obj } } 还有我通常使用的ES6“胖箭” data:()=>({ obj }) 在您的具体示例中没有区别,但这两个符号之间有一个非常重要的区别,特别是在Vue.js中:此不会在箭头函数中反映Vue实例 所以,如果你曾经有过这样的经历: export default { props: ['stuffProp'], data: () => (

我很好奇这两个数据函数,这两者之间有什么区别吗

我通常看到的是

data () {
  return {
    obj
  }
}
还有我通常使用的ES6“胖箭”

data:()=>({
  obj
})

在您的具体示例中没有区别,但这两个符号之间有一个非常重要的区别,特别是在Vue.js中:
不会在箭头函数中反映Vue实例

所以,如果你曾经有过这样的经历:

export default {
    props: ['stuffProp'],
    data: () => ({
      myData: 'someData',
      myStuff: this.stuffProp
    })
}
它不会像你期望的那样工作。
this.stuffProp
将无法获取
stuffProp
prop的值(有关原因,请参阅下文)

修理 将箭头函数更改为(ES6/EcmaScript 2015表示法):

导出默认值{
道具:['stuffProp'],

data(){/它与ES5或ES6语法有关,如果您在以前的脚本中使用了箭头函数()=>则可以安全地使用以下代码

//经过测试,可以在组件中访问this.myData
数据:()=>{return{
myData:'someData',
迈斯塔夫:这个
} }
//这同样有效
数据:()=>({
myData:'someData',
迈斯塔夫:这个

})
可能重复相同的内容,您不能在vuejs中使用箭头方式进行数据功能,因为它没有将此内容绑定到vue ObjFrom Review中的正确内容:您好,这篇文章似乎没有为问题提供答案。请编辑您的答案并改进其解释文本。仅供参考,组件的
数据
函数会收到e实例作为第一个参数,因此可以使用
data:vm=>({myStuff:vm.stuffProp})
export default {
    props: ['stuffProp'],
    data() {                                   // <== changed this line
      return {
        myData: 'someData',
        myStuff: this.stuffProp
      }
    }
}
export default {
    props: ['stuffProp'],
    data: function() {                           // <== changed this line
     return {
        myData: 'someData',
        myStuff: this.stuffProp
      }
    }
}