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
}
}
}