vue-actions
TypeScript icon, indicating that this package has built-in type declarations

2.3.2 • Public • Published

vue-actions

utilities for vuex2

travis-ci

Installation

npm install vue-actions --save

actionCreator()

// store/modules/products.js
import { actionCreator , mutationCreator } from 'vue-actions'
 
const state = {
  list : []
};
 
const getters = {}
 
export const actions = {
  getProducts: actionCreator('GET_PRODUCTS', ({ commit }, payload) => {
    return ProductAPI.getList({
      pageSize: payload.size,
      pageIndex: payload.index
    }) // API return promise
  })
};
 
export const mutations = mutationCreator((on)=>{
  on(actions.getProducts,(state, )=>{
    state.list = []
  });
 
  on.success(actions.getProducts,(state,res)=>{
    console.log('get products success', res)
    state.list = res.data || []
  });
 
  on.fail(actions.getProducts,(state,sssss)=>{
    console.log('get products fail',sssss)
  });
});
 
export default {
  state,
  getters,
  actions,
  mutations
}
 

mapPending version >= 2.3.0

 
import vueActions, { mapPending } from 'vue-actions'
import { actions as prodoctActions } from '@/store/modules/product'
 
Vue.use(vueActions)  // install vueActions first
 
// ...
computed: {
  ...mapPending({
    loading1: prodoctActions.getProducts,
    loading2: [prodoctActions.getProducts, prodoctActions.other],
  }),
},
// ...
 

Readme

Keywords

none

Package Sidebar

Install

npm i vue-actions

Weekly Downloads

1

Version

2.3.2

License

ISC

Unpacked Size

156 kB

Total Files

15

Last publish

Collaborators

  • ariesjia