vuex vue简单使用知识点总结


Posted in Javascript onAugust 29, 2019

vue概念:vuex 是 Vue 配套的 公共数据管理工具,它可以把一些共享的数据,保存到 vuex 中,方便 整个程序中的任何组件直接获取或修改我们的公共数据;

配置vuex的步骤:

1、运行cnpm i vuex -S

2、导包

import Vuex from 'vuex'

3、将vuex注册到vue中

Vue.use(Vuex)

4、new Vuex.Store() 实例,得到一个 数据仓储对象

var store = new Vuex.Store({
 state: {
  // 大家可以把 state 想象成 组件中的 data ,专门用来存储数据的
  // 如果在 组件中,想要访问,store 中的数据,只能通过 this.$store.state.*** 来访问
  count: 0
 },
 mutations: {
  // 注意: 如果要操作 store 中的 state 值,只能通过 调用 mutations 提供的方法,才能操作对应的数据,不推荐直接操作 state 中的数据,因为 万一导致了数据的紊乱,不能快速定位到错误的原因,因为,每个组件都可能有操作数据的方法;
  increment(state) {
   state.count++
  },
  // 注意: 如果组件想要调用 mutations 中的方法,只能使用 this.$store.commit('方法名')
  // 这种 调用 mutations 方法的格式,和 this.$emit('父组件中方法名')
  subtract(state, obj) {
   // 注意: mutations 的 函数参数列表中,最多支持两个参数,其中,参数1: 是 state 状态; 参数2: 通过 commit 提交过来的参数;
   console.log(obj)
   state.count -= (obj.c + obj.d)
  }
 },
 getters: {
  // 注意:这里的 getters, 只负责 对外提供数据,不负责 修改数据,如果想要修改 state 中的数据,请 去找 mutations
  optCount: function (state) {
   return '当前最新的count值是:' + state.count
  }
  // 经过咱们回顾对比,发现 getters 中的方法, 和组件中的过滤器比较类似,因为 过滤器和 getters 都没有修改原数据, 都是把原数据做了一层包装,提供给了 调用者;
  // 其次, getters 也和 computed 比较像, 只要 state 中的数据发生变化了,那么,如果 getters 正好也引用了这个数据,那么 就会立即触发 getters 的重新求值;
 }
})

总结:

1. state中的数据,不能直接修改,如果想要修改,必须通过 mutations

2. 如果组件想要直接 从 state 上获取数据: 需要 this.$store.state.***

3. 如果 组件,想要修改数据,必须使用 mutations 提供的方法,需要通过 this.$store.commit('方法的名称', 唯一的一个参数)

4. 如果 store 中 state 上的数据, 在对外提供的时候,需要做一层包装,那么 ,推荐使用 getters, 如果需要使用 getters ,则用 this.$store.getters.***

以上就是本次介绍的全部知识点内容,感谢大家的学习和对三水点靠木的支持。

Javascript 相关文章推荐
Node.js:Windows7下搭建的Node.js服务(来玩玩服务器端的javascript吧,这可不是前端js插件)
Jun 27 Javascript
js+html5获取用户地理位置信息并在Google地图上显示的方法
Jun 05 Javascript
js文本框走动跑马灯效果代码分享
Aug 25 Javascript
JS判断是否长按某一键的方法
Mar 02 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
Sep 13 Javascript
javascript匀速动画和缓冲动画详解
Oct 20 Javascript
JS实现简单的二元方程计算器功能示例
Jan 03 Javascript
详解vue渲染从后台获取的json数据
Jul 06 Javascript
react native与webview通信的示例代码
Sep 25 Javascript
bootstrap 路径导航 分页 进度条的实例代码
Aug 06 Javascript
JS倒计时两种实现方式代码实例
Jul 27 Javascript
详解CocosCreator项目结构机制
Apr 14 Javascript
js中的this的指向问题详解
Aug 29 #Javascript
Node4-5静态资源服务器实战以及优化压缩文件实例内容
Aug 29 #Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
Aug 29 #Javascript
微信小程序实现购物车代码实例详解
Aug 29 #Javascript
vue图片加载失败时用默认图片替换的方法
Aug 29 #Javascript
vue 框架下自定义滚动条(easyscroll)实现方法
Aug 29 #Javascript
Angular8路由守卫原理和使用方法
Aug 29 #Javascript
You might like
Mysql和网页显示乱码解决方法集锦
2008/03/27 PHP
LotusPhp笔记之:Cookie组件的使用详解
2013/05/06 PHP
Yii框架getter与setter方法功能与用法分析
2019/10/22 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
javascript 密码强度验证规则、打分、验证(给出前端代码,后端代码可根据强度规则翻译)
2010/05/18 Javascript
javascript 数据类型转换(parseInt,parseFloat)
2010/07/20 Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
2013/11/25 Javascript
javascript的动态加载、缓存、更新以及复用(一)
2014/06/09 Javascript
JavaScript自定义数组排序方法
2015/02/12 Javascript
jquery实现公告翻滚效果
2015/02/27 Javascript
js+html5实现canvas绘制简单矩形的方法
2015/06/05 Javascript
JavaScript中setUTCMilliseconds()方法的使用详解
2015/06/12 Javascript
jQuery实现的进度条效果
2015/07/15 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
2016/05/25 Javascript
超实用的javascript时间处理总结
2016/08/16 Javascript
AngularJS学习笔记之表单验证功能实例详解
2017/07/06 Javascript
jQuery序列化form表单数据为JSON对象的实现方法
2018/09/20 jQuery
vue项目刷新当前页面的三种方法
2018/12/04 Javascript
微信小程序基于canvas渐变实现的彩虹效果示例
2019/05/03 Javascript
Python实例分享:快速查找出被挂马的文件
2014/06/08 Python
Python获取网页上图片下载地址的方法
2015/03/11 Python
python字符串中的单双引
2017/02/16 Python
Python2实现的图片文本识别功能详解
2018/07/11 Python
Python如何发布程序的详细教程
2018/10/09 Python
Python配置文件处理的方法教程
2019/08/29 Python
python django生成迁移文件的实例
2019/08/31 Python
适合Python初学者的一些编程技巧
2020/02/12 Python
CSS3 flex布局之快速实现BorderLayout布局
2015/12/03 HTML / CSS
Timberland美国官网:全球领先的户外品牌
2016/08/15 全球购物
美国手机支架公司:PopSockets
2019/11/27 全球购物
求职意向书
2014/07/29 职场文书
学校交通安全责任书
2014/08/25 职场文书
法定代表人证明书
2014/11/28 职场文书
Mysql服务添加 iptables防火墙策略的方案
2021/04/29 MySQL
Java 数组内置函数toArray详解
2021/06/28 Java/Android
超越Nginx的Web服务器caddy优雅用法
2022/06/21 Servers