Vue之vuex的简单使用
2017-11-03 16:48
267 查看
读了一遍官网资料总结一下vuex的基本用法,这里介绍的是基于vue-cli开发的用法因此跟官方的写法略有不同。
一,vue是什么。
二,vuex应用结构
vue中的单项数据流结构如下:
上图表明用户界面负责触发动作(Action)进而改变对应状态(State),从而反映到视图(View)上。
vuex的应用结构如下图:
vuex中的state、action、mutation的关系。
三,vuex的简单使用
1,下载安装
2,src目录下建文件夹和文件结构是src/store/store.js,store.js代码如下:
3,在入口文件main.js引入,并挂载到根节点
4,子组件调用状态值count,并通过点击触发action提交mutation来增加数值
子组件模板:
ok,以上就是vuex的简单使用了,别的组件如需调用或修改vuex的数据状态也依此法使用。
一,vue是什么。
官方解释Vuex是一个专为Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。 在一些应用比较复杂的单页面项目里使用vuex比较合适,因为当兄弟、父子组件数据通信、共用状态过多时这些状态会变得让你难以管理,当某部分出现问题便要用大量时间去组件中查改代码,这并不是我们开发者想要的,因此用一个vuex来集中管理各个状态是比较好的选择。
二,vuex应用结构
vue中的单项数据流结构如下:
上图表明用户界面负责触发动作(Action)进而改变对应状态(State),从而反映到视图(View)上。
vuex的应用结构如下图:
vuex中的state、action、mutation的关系。
state负责存储整个应用的状态数据,要注意在入口文件main.js注入store对象,就可以在根组件下的子组件使用this.$store.state获取状态了。 mutation里面写着改变状态数据的方法(一定要写在这里),mutation是同步事件要注意,里面的方法不能写异步的,组件中触发一个mutation的方法store.commit(mutationName)。 action也是一个改变状态数据的事件,但不同的是action改变状态是通过调用mutation来实现的,注意action是个异步事件。直接触发action就使用this.$store.dispatch(actionName)。
三,vuex的简单使用
1,下载安装
npm install --save vuex //注意要带save
2,src目录下建文件夹和文件结构是src/store/store.js,store.js代码如下:
import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) const store = new Vuex.Store({ state: { count: 0 }, mutations: { increase (state) { state.count++ } }, actions: { actionIncrease ({commit}) { commit('increase') } } }) export default store
3,在入口文件main.js引入,并挂载到根节点
import Vue form 'vue'; import Vuex from 'vuex'; import store from './store/store.js' Vue use(Vuex); new Vue({ el: '#app', store, template: '<App/>', components: { App } })
4,子组件调用状态值count,并通过点击触发action提交mutation来增加数值
子组件模板:
<template> <span>{{count}}</span> <b a1e0 utton @click="add">增加数值</button> </template> <script> export default { computed:{ count () { return this.$store.state.count; } }, methods: { add() { this.$store.dispatch('actionIncrease') } } }; </script>
ok,以上就是vuex的简单使用了,别的组件如需调用或修改vuex的数据状态也依此法使用。
相关文章推荐
- sqlmap简单使用
- (译)如何使用cocos2d开发一个简单的iphone游戏:旋转炮塔。(第二部分)
- Android中的Intent简单使用
- 【Boost】Boost使用几条简单笔记
- FMDB的简单使用
- Git简单使用教程(五)-添加远程库
- Android新特性之CardView的简单使用
- 相对布局(RelativeLayout)的简单使用
- Tesseract-OCR的简单使用与训练
- scikit-learn使用笔记与sign prediction简单小结
- Java邮件开发(一):使用JMail发送一封简单邮件
- H5 Handlebars的简单使用
- ANDROID笔记:AutoCompleteTextView的简单使用
- Java枚举enum : 简单枚举与自定义枚举的入门使用
- Redis环境搭建以及简单使用
- EHCache简单使用
- PopupWindow的简单使用(结合RecyclerView)
- strhcr函数的使用简单示例
- TransmitFile函数的简单使用
- Ehcache框架简单使用