Как использовать эти данные из Vuex внутри компонента? - PullRequest
0 голосов
/ 02 мая 2020

Как лучше всего использовать эти данные из действия магазина Vuex в нужном компоненте?

import axios from 'axios'

export default {
  namespaced: true,

  state: {
    items: []
  },
  actions: {
    fetchCategories ({state, commit}) {
      return axios.get('/api/v1/categories')
        .then(res => {
          const categories = res.data
          commit('setItems', {resource: 'categories', items: categories}, {root: true})
          return state.items
        })
    }
  }
}

Компонент

  export default {
    components: {
      ThreadCreateModal,
      ThreadList
    },
    data () {
      return {
       ...
      }
    },
    computed: {
   ...
    },
    created () {
     ...
    },

    methods: {
    ...

  }
</script>

Где и как я должен использовать это действие для связывания данных в этом компоненте?

1 Ответ

1 голос
/ 02 мая 2020

Используйте mapState, импортируя его из vuex и вызывая его в computed:


computed: {
  ...mapState(['items']), // if you dont use namespace
  ...mapState("your_module_name", ['items'] ) // if you use namespace
},

, тогда вы можете получить к нему доступ this.items. Тем не менее, вы можете получить к нему доступ напрямую this.$store.state.items

...