vuex (状态管理)
来源:互联网 发布:js require 编辑:程序博客网 时间:2024/06/09 23:38
vuex (状态管理)
1.网站很多数据,很多组件,共享状态
2.直接做法,通过事件(even bus)
3.状态管理的模型: 每个组件更新,数组中心触发每个更新组件
4.v组件 –> Actions –> Mutations (动作) –> State(数据中心状态)–> 反映到页面的组件渲染
5.Actions(异步操作) –> Mutations(同步) –> 数据的单向流动
6.安装vuex : cnpm install vuex –save
7.引入vuex : import Vuex from ‘vuex’
Vue.use(Vuex)
let store = new Vuex.store({ })
8.let store = new Vuex.store({
state :{ totalPrice: 0 (数据中心存储的数据) },mutations : { increment (state,price) { state.totalPrice += price }, decrement (state,price) { state.totalPrice -= price } }})
在全局函数注册组件,挂载 new Vue({ store })
increment : 增加
decrement : 减少
9. 可以在每一个子组件里 通过 this.$store.state.totalPrice
(调用或触发里面的方法或状态)
10.App.vue 引入两个组件,在根元素上面以标签显示.每个组件里面有两个按钮,一个是加1,一个是减1;在methods里面写方法 , 调用this.$store.commit('increment(Mutations)',this.price)
this.$store.commit
方法
11.在数据中调用状态: 通过computed : { }
计算属性 totalPrice () { return this.$store.state.totalPrice }
12.vuex 状态管理数据,点击不同模块的操作,不需要发送事件,通过调用数据中心的Mutations,实现模块间共享的功能;
13.actions : 在Mutations之前的动作,只能调用Mutations,不可以更改state
actions : { increase (content,price) { content.commit('increment',price) },}
在methods里面写方法 , 调用this.$store.dispatch(‘increase(actions)’,this.price)
14.Mutations 和 actions 不同: actions可以进行异步的操作,Mutations 是同步的,跟后端的接口必须放在actions 里面 ( 产品的id ,api请求id ,请求回来的价格再执行)
actions : { increase (content,id) { api(id,function (price) { content.commit('increment',price) }) },}
思路:
15.Mutations 只能根据从上向下流的事件,不可以异步.
16.getters : 获取状态集里面的数据,设置不同的getters
getters : {getTotal (state) { // 不用每次都从数据集里面拿数据 return state.totalPrice // 获取的数据 }}
从app.vue 里面的computed : { totalPrice () { return this.$store.getters.getTotal }}
17. moduleA 分为不同的模型
18.所有的应用层级放在store –> 更改数据中心(Mutations) –> 异步请求的数据的(actions).
19. index.html –> main.js –> api( –> Api) –> component (App.vue …) –> store –> index.js [对外接口,统一输出接口]–> actions.js (异步的逻辑)–> Mutations.js [全局]–> modules ( cart.js [购物车]–> products.js[产品])
20.vues/vuex : github平台 案列
- vuex (状态管理)
- vuejs组件状态管理Vuex
- Vue中状态管理——Vuex
- Vue.js数据状态管理-Vuex(-)
- 简单实用vue状态管理vuex
- Vuex 模块化实现待办事项的状态管理
- Vuex 模块化实现待办事项的状态管理
- Vuex 模块化实现待办事项的状态管理
- 前端框架Vue(10)——vuex 状态管理
- Vuex 模块化实现待办事项的状态管理
- vue + vuex 的状态管理的简单使用
- Vuex 模块化实现待办事项的状态管理
- Vue.js数据状态管理-Vuex(二)
- Vuex 模块化实现待办事项的状态管理
- [Vue.js启航]——使用Vuex进行状态管理
- 在Vue中使用Vuex进行状态管理指南
- 状态管理模式vuex
- 状态管理工具vuex初识
- 二进制安装mysql
- easyui中datagrid多表头设置
- Linux0.00 调试技巧
- 杭电acm P2006
- RPC架构简介
- vuex (状态管理)
- lintcode刷题记录合并排序数组 java
- dpdk总结【持续更新】
- 扫盲篇:用户体验不等于可用性
- 图形验证码显示实现 笔记
- nginx安装
- java报错查询
- Linux第一天的学习记录
- ZOJ 1004 Anagrams by Stack (DFS 注意栈!)