Javascript vuejs数据函数返回对象不起作用
我知道vue希望数据是返回对象的函数,因此:Javascript vuejs数据函数返回对象不起作用,javascript,vue.js,arrow-functions,Javascript,Vue.js,Arrow Functions,我知道vue希望数据是返回对象的函数,因此: data () { return {} } 行得通,但这行不通: data: () => { } 为什么它不起作用呢?它们不是都返回一个对象的相同函数吗?这是因为当你在中使用{时,你开始的是一个块,而不是一个对象 以下将起作用: data: () => ({ }) 请注意(和) 语法-高级语法 但是,无论如何,不要在Vue中使用这些。从: 请注意,您不应使用带有数据属性的箭头函数(例如数据:()=>{return{a:thi
data () {
return {}
}
行得通,但这行不通:
data: () => {
}
为什么它不起作用呢?它们不是都返回一个对象的相同函数吗?这是因为当你在中使用
{
时,你开始的是一个块,而不是一个对象
以下将起作用:
data: () => ({
})
请注意(
和)
语法-高级语法
但是,无论如何,不要在Vue中使用这些。从:
请注意,您不应使用带有数据属性的箭头函数(例如数据:()=>{return{a:this.myProp}}
)。原因是箭头函数绑定父上下文,因此this
不会像您预期的那样成为Vue实例,并且this.myProp
将未定义
更新:
每条评论:但即使使用推荐的方法,您仍然不能使用此,那么这有什么意义呢
<>你可以。考虑<代码>道具< /代码>。你可能想改变一个道具的值(使用<代码> V模式< /代码>),这是不推荐的。为了实现这个功能,最好的做法是在你的<代码>数据< /代码>中创建一个内部属性(例如,代码>内部文件< /代码>),并用道具值初始化:
Vue.component('my-component', {
props: ['stuff'],
data() {
return {internalStuff: this.stuff}; // this works fine, wouldn't with arrow functions
},
template: `<input type="text" v-model="internalStuff">`
}
Vue.component('my-component'){
道具:['stuff'],
数据(){
return{internalStuff:this.stuff};//这很好用,但不适用于箭头函数
},
模板:``
}
这是因为当您在中使用{
时,您开始的是一个块,而不是一个对象
以下将起作用:
data: () => ({
})
请注意(
和)
语法-高级语法
但是,无论如何,不要在Vue中使用这些。从:
请注意,您不应使用带有数据属性的箭头函数(例如数据:()=>{return{a:this.myProp}}
)。原因是箭头函数绑定父上下文,因此this
不会像您预期的那样成为Vue实例,并且this.myProp
将未定义
更新:
每条评论:但即使使用推荐的方法,您仍然不能使用此,那么这有什么意义呢
<>你可以。考虑<代码>道具< /代码>。你可能想改变一个道具的值(使用<代码> V模式< /代码>),这是不推荐的。为了实现这个功能,最好的做法是在你的<代码>数据< /代码>中创建一个内部属性(例如,代码>内部文件< /代码>),并用道具值初始化:
Vue.component('my-component', {
props: ['stuff'],
data() {
return {internalStuff: this.stuff}; // this works fine, wouldn't with arrow functions
},
template: `<input type="text" v-model="internalStuff">`
}
Vue.component('my-component'){
道具:['stuff'],
数据(){
return{internalStuff:this.stuff};//这很好用,但不适用于箭头函数
},
模板:``
}
是的,它不起作用。阅读有关脂肪箭头以及如何使用它们的内容。此外,还有更多内容……请在将来提问之前做一些研究……是的,它不起作用。阅读有关脂肪箭头以及如何使用它们的内容。此外,还有更多内容……请在将来提问之前做一些研究……但即使采用你推荐的方式仍然不能使用此
那么要点是什么>但是即使使用推荐方式,您仍然不能使用此
那么要点是什么>