无法使用属性值初始化Vue.js数据

时间:2018-05-20 19:05:50

标签: vuejs2

应该可以直接引用数据值内的属性。 但由于某种原因,不起作用。我创建了一个小例子:

https://jsfiddle.net/ay7fue0s/

作为一种解决方法我现在就这样做:

computed: {
    foo() {
        this.whyDoesNotWork = this.message;
    }
},
watch: {
    foo() {}
}

因此计算出的函数直接改变数据。非常hacky,可能是错误的。 有没有人知道引用属性的最初示例有什么问题?

1 个答案:

答案 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实例。