美文网首页前端开发 从基础到框架
Vue-cli项目搭建(vuex使用)

Vue-cli项目搭建(vuex使用)

作者: 不7而遇_ | 来源:发表于2019-01-31 10:48 被阅读22次

配置好了axios 我们需要配置vuex
涉及到登陆注册之类的我们需要用vuex来进行状态管理。
如果你没有安装vuex 可以使用

npm i vuex -S

可以现在src的目录下创建store文件夹
在文件夹下创建。
index.js getter.js mutations.js actions.js
是因为 vuex 是分为这四个部分我们进行分别管理
在index.js 中要把他们全部引用并且导出
index.js代码

import Vue from 'vue'
import Vuex from 'vuex'
import states from './states'
import mutations from './mutations'
import getters from './getters'
import actions from './actions'
Vue.use(Vuex)

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

states.js 由于我要进行登陆的操作所以可以涉及到一写数据

export default {
  isLogin: JSON.parse(window.localStorage.getItem('token')) ? 1 : 0,
  username: '',
  avatar: ''
}

mutations.js


export default{
  login (state) {
    if (JSON.parse(window.localStorage.getItem('token'))) {
      state.isLogin = true
    } else {
      state.isLogin = false
    }
  },
  logout (state) {
    state.isLogin = false
    window.localStorage.removeItem('token')
  },
  hasLogin (state, res) {
    state.username = res.data.data.nickname
    state.avatar = res.data.data.avatar
  }
}

另外两个页面暂时还没有用到 。就 不谢代码了

现在我们写完store 里的东西需要用到main.js

import Vue from 'vue'
import App from './App'
import router from './router'
import $http from './request'
import store from './store'

Vue.config.productionTip = false
Vue.prototype.$http = $http

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  store,
  components: { App },
  template: '<App/>'
})

这样vuex就可以使用了。
如果你先引用vuex 的数据你可以直接 按需引入

import {mapState, mapMutations} from 'vuex'
export default {
  name: 'Login',
  computed: {
    ...mapState(['isLogin'])
  },

简单的应用基本就是这样了诶过有问题可以咨询 QQ 7764247

相关文章

网友评论

    本文标题:Vue-cli项目搭建(vuex使用)

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