2017-05-03 37 views
0

我有来自官方网站的工作示例。如何从其他地方的组件传递计算属性

Example

computed: { filteredData: function() {}) 

如何获得filteredData(计算机属性)在全球范围?特别是如果我想把它发送到别的地方。演示。$ store仅包含原始属性,未计算。我看到实现这个的唯一方法是演示。$ children [0] .filteredData。但那不是纯粹的。顺便说一下,即时通讯使用vuex。

+0

[在Vue.js一个全局数据结构]的可能的复制( http://stackoverflow.com/questions/41318800/one-global-data-structure-in-vue-js) – thanksd

回答

0

计算数据仅适用于当前组件。但是,您可以在Vuex中使用getters并将其导入为需要的计算属性。

在vuex,你声明如下:

getters: { 
    filteredData (state) { 
    return state.data.filter(x => x) 
    } 
} 

,然后,在那里你需要它,你只需输入:

import { mapGetters } from 'vuex' 
export default { 
    // ... 
    computed: { 
    ...mapGetters({ 
     filteredData 
    }) 
    } 
    // ... 
} 
+0

谢谢你,但是失望了。如果将计算放置在Vuex.store – user2879626

+0

中,会很好。但属性(数据,计算,道具)是组件特定的。如果你需要用vuex来计算东西,你可以使用getters来实现。 – motanelu