data()错误:"TypeError:无法读取未定义的属性'propsTitle‘“
我不能通过道具初始化数据。它一直向我显示这个错误,而我却弄不明白为什么?我读过vuejs教程,它告诉title: this.propsTitle
这是正确的方式。我遗漏了什么?谢谢大家!
data()中出现
错误:"TypeError:无法读取未定义的属性'propsTitle‘“
props: {
propsTitle: String,
propsLevel: Number,
propsProgress: Number,
},
data: () => ({
title: this.propsTitle,
progress: this.propsLevel,
level: this.propsLevel,
activeBtnTxt: "Start",
isStarted: false
}),
// watch: {
// progress(val) {
// this.progress = val
// }
// },
// mounted() {
// console.log(this.propsProgress)
// // this.progress = propsProgress
// // this.level = propsLevel
// // this.title = propsTitle
// },
发布于 2019-06-10 00:59:57
这一点:
data: () => ({
...
})
应该是这样:
data () {
...
}
如果你使用箭头函数,你会得到指向错误对象的this
引用。
文档中有一个关于这一点的注释:https://vuejs.org/v2/api/#data
请注意,如果将箭头函数与data属性一起使用,
this
将不会是组件的实例...
发布于 2019-06-10 09:55:55
以下是更正后的代码。你必须使用一个带return的函数。
props: {
propsTitle: String,
propsLevel: Number,
propsProgress: Number,
},
data() {
console.log(this)
return {
title: this.propsTitle,
progress: this.propsProgress,
level: this.propsLevel,
activeBtnTxt: "Start",
isStarted: false
}
},
https://stackoverflow.com/questions/56516384
复制相似问题