vuex的入门学习
来源:互联网 发布:淘宝收藏动态图片 编辑:程序博客网 时间:2024/06/06 16:29
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex 也集成到 Vue 的官方调试工具 devtools extension,提供了诸如零配置的 time-travel 调试、状态快照导入导出等高级调试功能。
vuex的中文文档 https://vuex.vuejs.org/zh-cn/intro.html
ES6:http://es6.ruanyifeng.com
说明:我们通信的目的往往就是在组件之间传递数据或组件的状态,进而更改状态。但可以看到如果我们通过最基本的方式来进行通信,一旦需要管理的状态多了,代码就会变得十分混乱。对所有状态的管理便会显得力不从心,尤其是多人合作的时候。
Vuex的核心:
- state
- mutations
- getters
- actions
- modules
state:里面存放的是我们之前的data的
mutations:存放如何更改状态(事件,点击…)
actions就是mutation的加强版,它可以通过commit mutations中的方法来改变状态,最重要的是它可以进行异步操作。
module:就是当用这个容器来装这些状态还是显得混乱的时候,我们就可以把容器分成几块,把状态和管理规则分类来装。这和我们创建js模块是一个目的,让代码结构更清晰。
getters:相当于computed 实时计算 ,过滤器
例子:
文件夹的目录如下
main.js文件中
import Vue from 'vue'import App from './App'import Vuex from 'vuex'import store from './store.js' //import过来Vue.use(Vuex) //全局使用Vue.config.productionTip = falsenew Vue({ store, // 将store实例注入到根组件下的所有子组件中 子组件通过this.$store来方位store el: '#app', template: '<App/>', components: { App }});
App.vue文件
<template> <div id="app"> <h3>welcome vuex-demo</h3> <button @click='increment'>增加</button> <div>现在的数字为:{{count}}</div> </div></template><script>import {mapActions , mapGetters } from 'vuex'export default { name: 'app', methods:mapActions([ //使用 mapActions 辅助函数将组件的 methods 映射 'increment' ]), computed:mapGetters([ //mapGetters 辅助函数仅仅是将 store 中的 getters 映射到局部计算属性: 'count' ])}</script>
store.js
import Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex);// 存储状态值var state = { count: 0 //类似于data属性}// 状态值的改变方法,操作状态值// 提交mutations是更改Vuex状态的唯一方法const mutations = { increment(state) { //处理状态数据的变化,methods方法 state.count++; }}const actions = { //处理你要干什么,异步请求,判断,流程控制 increment:({commit})=>{ //ES6 解构(查看) 传递一个commit commit('increment'); //Action 提交的是 mutation,而不是直接变更状态。 }}// 在store中定义getters(可以认为是store的计算属性)。Getters接收state作为其第一个函数const getters = { count(state){ //app.vue需要拿到这个值,这个我们得return出去 return state.count; }}export default new Vuex.Store({ //这里要抛出去 不然外面不能使用 state, actions, mutations, getters})
这里还以实现减法 偶数增 奇数减等等操作的, 代码都在下面
后续还会更新的新的demo。。。。。
0 0
- vuex的入门学习
- Vuex入门
- vuex入门
- vuex学习
- 学习vuex
- Vue-vuex基础知识的学习总结
- 基于vue-cli的vuex学习笔记
- Vuex 快速入门
- Vuex简单入门
- Vuex 入门介绍
- Vuex简单入门
- Vuex 入门介绍
- vuex(入门软文)
- Vuex简单入门
- Vuex简单入门
- Vuex 入门介绍
- Vuex简单入门
- Vuex简单入门
- arduino UNO、arduino 2560和can总线-基于mcp2515的一些基础通讯
- Laravel中缓存的使用
- 【GDOI2017模拟二试4.12】树上路径
- 解决VMware虚拟机装mac os 10.12后版本安装VMware tools不成功或无法全屏的问题
- 在CentOS7 64位下安装shc-3.8.6
- vuex的入门学习
- 01 Spark 初始
- Netty 超时机制及心跳程序实现
- 友元函数
- WeBRTC IOS视频采集流程
- 剑指Offer 字符串的排列
- kubernetes 源码分析之kubeadm(三)
- 260. Single Number III
- 增强iOS应用程序技巧的方法