vuex实现状态管理的具体操作
时间:2019-11-12
本文章向大家介绍vuex实现状态管理的具体操作,主要包括vuex实现状态管理的具体操作使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
状态管理是一个经常被提及的名词,具体要怎么实现呢?这次不说废话直接上干货。
1. 引入vuex
npm install vuex --save
2. 新建一个store文件夹,并在文件夹下新建store.js文件,文件中引入vue和vuex。
import Vue from 'vue';
import Vuex from 'vuex';
3. 使用我们vuex,引入之后用Vue.use进行引用。
Vue.use(Vuex)
4. 在main.js 中引入新建的vuex文件
import store from './store/store.js'
5. 在实例化 Vue对象时加入 store 对象 (main.js中)
new Vue({ el: '#app', router, store, components: { App }, template: '<App/>' })
6.在vuex下载并引入之后,使用它有几个步骤
1. 首先要明白一点的就是在我们使用了vuex之后,只要把state放进vuex实例中,就可以在全局任何地方使用这个数据了。但是这肯定是不行的,因为vuex的真正目的是记录用户的操作,如果直接拿里面的数据就失去了意义,因此需要拐个弯去获取它,官方提供的getters,可以用来实时监听vuex里面数据的最新值,记得最后要放进Vuex.Store里去。
const getters = { //实时监听state值的变化(最新状态) isShow(state) { //方法名随意,主要是来承载变化的showFooter的值 return state.showFooter }, };
2. 仅仅只做到可以检测是不行的,我们还会操作这里面的数据,vux就比react的redux要简单一些了,官方提供的是mutations,mutattions也是一个对象,这个对象里面可以放改变state的初始值的方法,具体的用法就是给里面的方法传入参数state或额外的参数,然后利用vue的双向数据驱动进行值的改变,同样的定义好之后也把这个mutations扔进Vuex.Store里面
const mutations = { show(state) { //自定义改变state初始值的方法,这里面的参数除了state之外还可以再传变量或对象; state.showFooter = true;//实际对state对象的操作 }, };
3. 在 Vuex 中,mutations里面的方法都是同步事务,因此需要一个actions去触发这里面的方法,这个actions也是个对象变量,最大的作用就是里面的Action方法 可以包含任意异步操作,这里面的方法是用来异步触发mutations里面的方法,actions里面自定义的函数接收一个context参数和要变化的形参,context与store实例具有相同的方法和属性,所以它可以执行context.commit(' '),然后也不要忘了把它也扔进Vuex.Store里面
const actions = { hideFooter(context) { //自定义触发mutations里函数的方法,context与store 实例具有相同方法和属性 context.commit('hide'); }, getNewNum(context,num){ //同上注释,num为要变化的形参 context.commit('newNum',num) } };
4. 在外部组件里进行全局执行actions里面方法的时候,你只需要用执行 ```this.$store.dispatch('action名')```,这样就可以全局改变改变showfooter或changebleNum的值了
原文地址:https://www.cnblogs.com/fdd-111/p/11839855.html
- 腾讯云直播答题方案解析
- C+虚函数实现多态性的思考
- Zzreal的大数据笔记-SparkDay04
- 180数字集团品牌升级 启用域名180.ai
- iDC预测全球物联网花费在2018年至7720亿美金
- 北京青年报:用数据说话应是网络强国标配
- 3字母域名谁不爱?游戏门户启用价值六位数的域名
- 中国版Space X首台“民营火箭”发动机试车成功;贾跃亭甘薇在美欢度圣诞,证监局喊破嗓子他也不回家;谷歌AI新技能
- 我的写作工具链
- 微信小程序更新新能力:四大功能让小程序更火爆!一起来了解更新吧,快来学习吧
- CentOS下ssh免密码问题
- flask-script
- 仿照wtform自定义Form组件
- 神速!一域名注册不到两个月就被启用
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- C++入门指南及实战 第三步 基本变量
- 最全总结 | 聊聊 Python 数据处理全家桶(配置篇)
- FlexSDK工具包的介绍与编译使用
- 《零基础看得懂的C语言入门教程 》——(二)C语言没那么难简单开发带你了解流程
- Ansible自动化运维学习笔记5
- Ansible自动化运维学习笔记4
- 《零基础看得懂的C语言入门教程 》——(三)轻轻松松理解第一个C语言程序
- Python自动化运维2
- AirTest 基本使用及框架浅剖析——五分钟上手制作游戏辅助
- 【面试题】734- 从一道面试题谈谈对 EventLoop 的理解
- (上)python3 selenium3 从框架实现代码学习selenium让你事半功倍
- (下)python3 selenium3 从框架实现代码学习selenium让你事半功倍
- 【Vuejs】738- 一篇文章上手Vue3中新增的API
- Python自动化运维1
- python图形绘制库turtle中文开发文档及示例大全【最详细、连结果图都有,gif格式的!】