2017-06-01 82 views
3

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

我有以下vue实例,但myComputed始终未定义,但computedData正常工作。

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

    computed: { 
    computedData(){ 
     return 'Hello World' 
    } 
    } 
}) 
+0

为什么你需要这个?你可以随时访问'this.computedData',就像访问'this.myComputed'一样。 – jfadich

+0

它不适用于此。 computedData,它是未定义的。 –

+1

我的意思是你可以像访问数据一样访问计算属性,所以你不需要做你想做的事情。 – jfadich

回答

2

为了让事情尽可能的简单,只是做的工作在守望,除非你想发出更改不同的组件或者是有很多的,你要通知变量,那么你可能要使用Vuex或事件总线:

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