一、需要在组件中引入vuex的相关文件后才能在该组件中使用状态值、修改状态值
1、使用:$ vue init webpack vuextest //创建vuextest项目
2、切换进vuextest : $ cd vuextest
3、使用: $ npm run dev运行vuextest
4、安装vuex:$ cnpm i vuex -S
5、新建vuex文件:/vuextest/src/vuex/store.js,在store.js中编辑如下代码:
// 引入vue import Vue from 'vue' // 引入vuex import Vuex from 'vuex' //使用vuex Vue.use(Vuex) let store = new Vuex.Store({ // 定义状态 state: { count: 1 }, //修改状态 mutations: { setCount(state, newCount) { state.cout = newCount; } } }) // 导出 export default store
6、在组件中使用状态值,新建组件,/vuetest/src/components/count.vue,代码如下:
<template> <div>{{ $store.state.count }}</div>
<div><button @click="$store.commit('setCount',20)">修改数值</button></div> </template> <script> // 引入vuex文件,如果不引用直接使用的话将会报错 import store from '@/vuex/store' export default { store //别忘了这一步 } </script>
二、直接在入口文件main.js中引入vuex文件,这样组件中再使用状态值的话就不用单独引入vuex文件了
1、在入口文件/vuextest/src/main.js中引入vuex文件
import Vue from 'vue' import App from './App' import router from './router'
//引入vuex文件 import store from './vuex/store' Vue.config.productionTip = false /* eslint-disable no-new */ new Vue({ el: '#app', router, store, components: { App }, template: '<App/>' })
三、如何修改入口文件
在/vuetest/build/webpack.base.conf.js中修改entry