Vuejs2 如何将计算属性从组件传递到其他位置

Vuejs2 如何将计算属性从组件传递到其他位置,vuejs2,vue-component,vuex,Vuejs2,Vue Component,Vuex,我有来自官方网站的工作示例 如何全局获取filteredData(计算属性)?特别是如果我想把它送到别的地方。演示。$store只包含原始属性,不包含计算属性。我认为实现这一点的唯一方法是演示。$children[0]。Filteredata。但这并不纯粹。顺便说一下,im使用vuex。计算数据仅对当前组件可用。但是,您可以在Vuex中使用,并在需要时将其作为计算属性导入 在vuex中,您声明: getters: { filteredData (state) { return st

我有来自官方网站的工作示例


如何全局获取filteredData(计算属性)?特别是如果我想把它送到别的地方。演示。$store只包含原始属性,不包含计算属性。我认为实现这一点的唯一方法是演示。$children[0]。Filteredata。但这并不纯粹。顺便说一下,im使用vuex。

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

在vuex中,您声明:

getters: {
  filteredData (state) {
    return state.data.filter(x => x)
  }
}
然后,在需要的地方,您只需导入:

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

可能是《谢谢你》的复制品,但已被淘汰。如果将computed放在Vuex.store中就太好了,但是属性(数据、计算、道具)是特定于组件的。如果需要在vuex中计算,可以使用getter。是否可以使用EventBus而不是vuex来计算?
import { mapGetters } from 'vuex'
export default {
  // ...
  computed: {
    ...mapGetters({
      filteredData
    })
  }
  // ...
}