美文网首页
大型项目vuex构建

大型项目vuex构建

作者: w_小伍 | 来源:发表于2020-06-30 17:16 被阅读0次

在store文件夹下新建state.js,mutations.js,mutations-type.js,actions.js,getters.js


image.png

index.js

import Vue from 'vue'
import Vuex from 'vuex'
import state from "./state";
import mutations from './mutations'
import actions from './actions'
import getters from './getters'

Vue.use(Vuex)
export default new Vuex.Store({
  state,
  mutations,
  actions,
  getters,
})

state.js

export default {
  userInfo:{},
  shopCart:''
}

mutations-type.js

//用户信息
export const SET_USERINFO = 'SET_USERINFO'
//加入购物车
export const ADD_TO_CART = 'ADD_TO_CART'
export const SELECTED_GOODS_COUNT = 'SELECTED_GOODS_COUNT'

mutations.js

import * as types from './mutations-types'

export default {
  [types.SET_USERINFO](state, payload) {
    // console.log(state)
    state.userInfo = payload
  },
  [types.ADD_TO_CART](state, payload) {
    state.shopCart = payload
  },
}

getters.js

import { SELECTED_GOODS_COUNT } from './mutations-type'
export default {
  SELECTED_GOODS_COUNT(state) {
    // 3.1 取出state中的商品数据
    let count = 0;
    let shopCart = state.shopCart;
    Object.values(shopCart).forEach((goods, index) => {
      if (goods.checked) {
        // 6.2删除选中商品
        count++;
      }
    });
    return count;
  },
}

actions.js

mport {SET_USERINFO} from "./mutations-type"

export default {
  async login({commit}) {
    let userInfo = {name: 'Jone', age: 22}
    commit(SET_USERINFO, userInfo)
  }
}

在main.js引入

import store from './store/index'

使用

let userInfo = { name:'Tom',age:20 }
 this.$store.commit('SET_USERINFO',userInfo)

相关文章

  • 大型项目vuex构建

    在store文件夹下新建state.js,mutations.js,mutations-type.js,actio...

  • vuex的基础用法

    前言 vuex在vuejs构建大型项目的时候,是必不可少的。网上对他的介绍很多,官网介绍的也很详细。但是自己还是想...

  • Vuex

    关于VueX Vuex 是一个专为 Vue.js 应用程序开发的状态管理工具大型项目使用为解决组件之间传递数据 之...

  • vuex 状态管理

    vuex适用于大型项目中,在小型项目中使用sessionStorage和localStorage。 一、什么是vu...

  • vue-cli+vuex+axios请求数据

    目前主流的 Vue 项目,都选择 axios 来完成 ajax 请求,而大型项目都会使用 vuex 来管理数据,今...

  • vuex的介绍 、使用state与mutation实现不同组件数

    Vuex用于大型项目中,不同组件之间(不是兄弟组件)的数据共享、数据持久化。作用与localStorage、ses...

  • Xcode构建效率及编译速度提升

    1.New Build System 特性:降低构建开销,尤其可以降低大型项目的构建开销 Xcode12Legac...

  • vuex入门教程

    vuex (一)vuex是什么?Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式(二)适用场景?构建...

  • vuex速成学习总结

    vuex | 应用场景 用于【共享状态】较多,经常被在各处修改的【大型项目】 用于大中型单页应用,简单的 spa ...

  • typescript下的vuex怎么用?再不知道就晚了

    ts配置vuex的使用指南 在使用vue-cli3和typescript搭建项目的大型项目的时候,因为官网文档太过...

网友评论

      本文标题:大型项目vuex构建

      本文链接:https://www.haomeiwen.com/subject/urbxqktx.html