Vuex rootActions с несколькими модулями - PullRequest
0 голосов
/ 17 мая 2018

У меня есть vuejs на стороне клиента, где я использую vuex для управления состоянием.У меня есть несколько модулей (в отдельных файлах), но некоторые из них имеют очень похожие действия, поэтому я хочу создать сухой код .

Моя цель: Создание корневого действия, которое может вызываться каждым модулем.

Мой основной vuex выглядит так:

export default new Vuex.Store({
  actions: {
    rootactions,
  },
  modules: {
    users,
    classes,
    studentgroups,
    // ... other stuff
  }
})

Как мне ссылаться на методы rootactions?

Спасибо за ответы заранее!

Ответы [ 2 ]

0 голосов
/ 28 июля 2019

"Чтобы отправить действия или зафиксировать мутации в глобальном пространстве имен, передайте {root: true} в качестве 3-го аргумента для отправки и подтверждения."

{ корень: правда }

https://vuex.vuejs.org/guide/modules.html

0 голосов
/ 17 мая 2018

Как насчет создания отдельного файла RootActions.js с общими действиями

export default {
    action1: () => {
        //
    },
    action2: () => {
        //
    },
}

А затем импортируйте его в файл модуля, например, User.js

import RootActions from './RootActions'

const state = {
    // state object
}

const mutations = {
    // mutations object
}

const actions = {
    // actions object
}

export default {
  namespaced: true,
  state,
  mutations,
  actions: Object.assign(RootActions, actions)
}
...