vuex-module

0.4.0 • Public • Published

vuex-module

Module that turns vuex modules into poetry.

Key features

  • Auto namespacing for mutations, actions and getters
  • Mappers for namespaced components
  • Localized state and commit available via this
  • Nicer way of registering mutations, actions and getters
  • Optional global registration for getters

Example

import { VuexModule } from 'vuex-module'
import shop from '../../api/shop'
 
const { state, getter, action, mutation, build } = new VuexModule('products')
 
state({ all: [] })
 
getter(function all() {
  return this.state.all
});
 
action(function fetch() {
  return shop.getProducts(products => {
    this.commit('fetch', products)
  })
})
 
mutation(function fetch(products) {
  this.state.all = products
})
 
export default build()

Getters, actions and mutations will be prefixed with with module name resulting with: products/all, and products/fetch methods.

You can then use VuexModule mappers to map namespaced methods to your components.

export default {
  computed: mapGetters({ products: 'all' }, 'products'),
  methods: mapActions(['fetch'], 'products')
}

Inside mutations state is available via this. This simplifies function declaration and makes code more readable. Same goes for getters and actions (context, commit, rootState, rootGetters).

MIT

Readme

Keywords

Package Sidebar

Install

npm i vuex-module

Weekly Downloads

0

Version

0.4.0

License

MIT

Unpacked Size

88.5 kB

Total Files

13

Last publish

Collaborators

  • undersc0pe
  • vladimyr