2017-05-03 36 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