在Vuejs中的数据中使用计算属性

Cli*_*een 13 vue.js vue-component vuejs2

如何在数据中使用计算属性或通过总线发送?

我有以下vue实例,但myComputed总是未定义但是computedData正常工作.

var vm = new Vue({
  data(){
    return{
      myComputed: this.computedData
    }
  },

  computed: {
    computedData(){
      return 'Hello World'
    }
  }
})
Run Code Online (Sandbox Code Playgroud)

kev*_*guy 7

为了使事情变得尽可能简单,只需在观察者中完成工作,除非您想要将更改发送到不同的组件或者您想要通知很多变量,那么您可能必须使用Vuex或事件总线:

var vm = new Vue({
  data(){
    return{
      myComputed: '',
      computedData: 'Hello World'
    }
  },
  created() {
    this.myComputed = this.computedData;
  },
  watch: {
    computedData() {
      this.myComputed = this.computedData;
    }
  }
});
Run Code Online (Sandbox Code Playgroud)


Zve*_*hka 6

不幸的是,由于组件创建时间的原因,无法在数据中使用计算属性:数据在计算属性之前进行评估。