vuex(状态管理)
- vuex 是什么
- Vuex 是专门为 Vue.js 设计的状态管理库,以利用 Vue.js 的细粒度数据响应机制来进行高效的状态更新。
- vuex 使用示例
- 每一个 Vuex 应用的核心就是 store。“store”基本上就是一个容器,它包含着你的应用中大部分的状态 state。
- state
- Vuex 通过 Vue 的插件系统将store实例,从根组件中“注入”到所有的子组件里。且子组件能通过 this.$store 访问到
- getter
- getter 的返回对象会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算。getter 在通过方法访问时,每次都会去进行调用,而不会缓存结果。mapGetters()映射。
- mutation
- 更改 Vuex 的store中的状态的唯一方法是提交mutation。在mutations选项中注册回调函数,使用 store.commit 触发,实现修改 store中的state。
- action
- action提交的是mutation,而不是直接变更状态。action可以包含任意异步操作。store.dispatch() 分发
- module
- 将 store 分割成模块(module)。每个模块拥有自己的 state、mutation、action、getter、甚至是嵌套子模块。
- 插件
- Vuex 的 store 接受 plugins 选项,这个选项暴露出每次 mutation 的钩子。Vuex 插件就是一个函数。
- 严格模式
- 开启严格模式,仅需在创建 store 的时候传入 strict: true。
- 表单处理
- 给 <input> 中绑定 value,然后侦听 input 或者 change 事件。另一个方法是使用带有 setter 的双向绑定计算属性。
- 热重载
- Vuex 支持在开发过程中热重载 mutation、module、action 和 getter。你也可以在 Browserify 中使用 browserify-hmr 插件。
- vuex API
- Vuex.Store 构造器选项、实例属性、实例方法。组件绑定的辅助函数。