vue项目分析--Vuex


https://vuex.vuejs.org/zh/installation.html

安装

在引入vue之后直接引入vuex可以直接安装

<script src="/path/to/vue.js"></script>
<script src="/path/to/vuex.js"></script>

如果不使用全局的script标签引用的话
也可以使用npm

npm install vuex --save

在模块化的打包系统里,需要显式的通过Vue.use()安装vuex

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

Vuex 依赖 Promise (opens new window)。如果你支持的浏览器并没有实现 Promise (比如 IE),那么你可以使用一个 polyfill 的库,例如 es6-promise (opens new window)。
你可以通过 CDN 将其引入:

<script src="https://cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.auto.js"></script>

然后 window.Promise 会自动可用。

开始使用

每一个vuex应用的核心是store,包含着应用里大部分状态,vuex的状态存储是响应式的,vue组件从store里读取状态的时候,状态一旦变化,组件也相应更新
不能直接改变store里的状态,唯一途径就是显式地提交(commit)mutation(改变)
开始创建一个store
(只需要提供一个初始state对象和一些mutation)
比如创建了一个state里一个count参数
在mutations里定义一个自增函数,里面传入state,对state里的count进行操作

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

const store = new Vuex.Store({
   
   
  state: {
   
   
    count: 0
  },
  mutations: {
   
   
    increment (state) {
   
   
      state.count++
    }
  }
})

之后在外面使用commit调用mutations里的increment方法

store.commit('increment')

获取store里的state里的参数


                
Html Webpack Plugin: Error: Child compilation failed: Module not found: Error: Can't resolve 'C:\源码\Vue\136Vue状态管理核心\vue-vuex-demo\node_modules\html-webpack-plugi n\lib\loader.js' in 'C:\源码\Vue\136Vue状态管理核心\vue-vuex-demo' ModuleNotFoundError: Module not found: Error: Can't resolve 'C:\源码\Vue\136Vue状态管理核心\vue-vuex-demo\node_modul es\html-webpack-plugin\lib\loader.js' in 'C:\源码\Vue\136Vue状态管理核心\vue-vuex-demo' at C:\源码\Vue\136Vue状态管理核心\vue-vuex-demo\node_modules\webpack\lib\Compilation.js:2123:28 at C:\源码\Vue\136Vue状态管理核心\vue-vuex-demo\node_modules\webpack\lib\NormalModuleFactory.js:923:13 at eval (eval at create (C:\源码\Vue\136Vue状态管理核心\vue-vuex-demo\node_modules\tapable\lib\HookCodeFactory.j s:33:10), :10:1) at C:\源码\Vue\136Vue状态管理核心\vue-vuex-demo\node_modules\webpack\lib\NormalModuleFactory.js:339:22 at eval (eval at create (C:\源码\Vue\136Vue状态管理核心\vue-vuex-demo\node_modules\tapable\lib\HookCodeFactory.j s:33:10), :9:1) at C:\源码\Vue\136Vue状态管理核心\vue-vuex-demo\node_modules\webpack\lib\NormalModuleFactory.js:520:22 at C:\源码\Vue\136Vue状态管理核心\vue-vuex-demo\node_modules\webpack\lib\NormalModuleFactory.js:155:10 at C:\源码\Vue\136Vue状态管理核心\vue-vuex-demo\node_modules\webpack\lib\NormalModuleFactory.js:745:23 at C:\源码\Vue\136Vue状态管理核心\vue-vuex-demo\node_modules\neo-async\async.js:2830:7 at done (C:\源码\Vue\136Vue状态管理核心\vue-vuex-demo\node_modules\neo-async\async.js:2925:13) at C:\源码\Vue\136Vue状态管理核心\vue-vuex-demo\node_modules\webpack\lib\NormalModuleFactory.js:1188:10 at finishWithoutResolve (C:\源码\Vue\136Vue状态管理核心\vue-vuex-demo\node_modules\enhanced-resolve\lib\Resolver .js:567:11) at C:\源码\Vue\136Vue状态管理核心\vue-vuex-demo\node_modules\enhanced-resolve\lib\Resolver.js:656:15 at C:\源码\Vue\136Vue状态管理核心\vue-vuex-demo\node_modules\enhanced-resolve\lib\Resolver.js:718:5 at eval (eval at create (C:\源码\Vue\136Vue状态管理核心\vue-vuex-demo\node_modules\tapable\lib\HookCodeFactory.j s:33:10), :1
最新发布
03-18
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值