美文网首页
vue结合vuex

vue结合vuex

作者: 搬个菠萝晒太阳 | 来源:发表于2019-03-01 11:50 被阅读0次

在src目录下面,新建一个store文件夹,目录结构如下


image.png

1、index文件

import Vue from 'vue'
import Vuex from 'vuex'
import mutations from 'store/mutations'
import state from 'store/state'
import getters from 'store/getters'

Vue.use(Vuex)

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

2、state文件

const userInfo = JSON.parse(window.localStorage.getItem('user-info')) || ''
const user = {
  isLogin: userInfo.isLogin ? userInfo.isLogin : false,
  username: userInfo.username ? userInfo.username : '',
  token: userInfo.token ? userInfo.token : ''
}
export default {
  haveTabbar: true,
  cartList: JSON.parse(window.localStorage.getItem('cart-lists')) || [],
  searchLists: JSON.parse(window.localStorage.getItem('search-lists')) || [],
  user
}

3、mutation文件(计算新的值)

export default{
//修改state的方法
}

4、getters文件

export default {
  totalCount (state) {
    if (state.user.isLogin === false) {
      return 0
    } else {
      return state.cartList.reduce((result, list) => {
        result += list.count
        return result
      }, 0)
    }
  },
  totalPrice (state) {
    return state.cartList.reduce((result, list) => {
      if (list.isChecked) {
        result += list.count * list.price
      }
      return result
    }, 0)
  },
  totalCheckCount (state) {
    return state.cartList.reduce((result, list) => {
      if (list.isChecked) {
        result += list.count
      }
      return result
    }, 0)
  },
  changeAllState (state) {
    if (state.cartList.length === 0) {
      return false
    } else {
      return state.cartList.every(list => list.isChecked === true)
    }
  }
}

相关文章

  • vue结合vuex

    在src目录下面,新建一个store文件夹,目录结构如下 1、index文件 2、state文件 3、mutati...

  • axios 配置

    axios 全局配置 3 种方法: 结合vue-axios使用 axios改写为Vue的原型属性 结合Vuex的a...

  • vue开发文档整理

    一、技术选型 使用vue-cli基于webpack结合的 核心使用 vue、vue-router 使用vuex做全...

  • 2019-06-07

    import Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)...

  • 2018-09-06

    import Vue from 'vue'import Vuex from 'vuex' Vue.use(Vuex...

  • 45

    今天用element结合vue做一个demo还没做完,之后会加上vuex vue-route

  • vue项目中关于axios全局配置

    axios全局配置3种方法: 1.结合vue-axios使用2.axios改写为Vue的原型属性3.结合Vuex的...

  • 使用vuex-router-sync实现vue-router的状

    vuex-router-sync 插件通过动态注册模块将 vue-router 和 vuex 结合在一起,实现应...

  • Vuex2.0 + Vue-Resource Todo实例

    前言: 主要应用vue2.1,vuex2.1结合vue-Resource做一个Todos实例。 后台用mock-d...

  • d2-admin开发后台管理,新手上路

    d2-admin使用vue-cli3手脚架,集成了强大element-ui,结合vue+vuex+axios 1、...

网友评论

      本文标题:vue结合vuex

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