应该可以直接引用数据值内的属性。 但由于某种原因,不起作用。我创建了一个小例子:
https://jsfiddle.net/ay7fue0s/
作为一种解决方法我现在就这样做:
computed: {
foo() {
this.whyDoesNotWork = this.message;
}
},
watch: {
foo() {}
}
因此计算出的函数直接改变数据。非常hacky,可能是错误的。 有没有人知道引用属性的最初示例有什么问题?
答案 0 :(得分:0)
Vue.component('child', {
props: ['message'],
data() {
return {
whyDoesNotWork: this.message
}
},
template: '<span>{{ whyDoesNotWork }}</span>'
})
var app = new Vue({
el: '#app',
data: {
hello: {},
message: 'someting'
},
components:['child'],
template: '<child :message="message"></child>'
})
不要在实例属性或回调上使用箭头函数,因为箭头函数不会将此函数绑定到您要为其定义计算属性的vue实例。