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 相关文章推荐
js下通过prototype扩展实现indexOf的代码
Dec 08 Javascript
如何使用AngularJs打造权限管理系统【简易型】
May 09 Javascript
jQuery ajaxForm()的应用
Oct 14 Javascript
JS实现的几个常用算法
Nov 12 Javascript
jquery append与appendTo方法比较
May 24 jQuery
canvas+gif.js打造自己的数字雨头像的示例代码
Oct 26 Javascript
JS 仿支付宝input文本输入框放大组件的实例
Nov 14 Javascript
微信小程序自定义底部弹出框
Nov 16 Javascript
小程序文字跑马灯效果
Dec 28 Javascript
vue-router实现编程式导航的代码实例
Jan 19 Javascript
详解VUE调用本地json的使用方法
May 15 Javascript
vue中后端做Excel导出功能返回数据流前端的处理操作
Sep 08 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
Terran建筑一览
2020/03/14 星际争霸
php共享内存段示例分享
2014/01/20 PHP
PHP常见错误提示含义解释(实用!值得收藏)
2016/04/25 PHP
使用ucenter实现多站点同步登录的讲解
2019/03/21 PHP
PHP重载基础知识回顾
2020/09/10 PHP
jQuery的一些特性和用法整理小结
2010/01/13 Javascript
JavaScript中的getDay()方法使用详解
2015/06/09 Javascript
js实现input框文字动态变换显示效果
2015/08/19 Javascript
详解JavaScript跨域总结与解决办法
2016/10/31 Javascript
Jquery Easyui自定义下拉框组件使用详解(21)
2020/12/31 Javascript
浅谈javascript中的数据类型转换
2016/12/27 Javascript
Vue瀑布流插件的使用示例
2018/09/19 Javascript
小程序实现五星点评效果
2018/11/03 Javascript
js实现类似iphone的网页滑屏解锁功能示例【附源码下载】
2019/06/10 Javascript
jquery实现图片无缝滚动 蒙版遮蔽效果
2020/01/11 jQuery
vue调用本地摄像头实现拍照功能
2020/08/14 Javascript
Python ZipFile模块详解
2013/11/01 Python
在Python程序员面试中被问的最多的10道题
2017/12/05 Python
浅谈pycharm下找不到sqlalchemy的问题
2018/12/03 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
2019/02/20 Python
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
2019/03/18 Python
Python实现将HTML转成PDF的方法分析
2019/05/04 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
2019/05/29 Python
Python基于OpenCV实现人脸检测并保存
2019/07/23 Python
python内置函数sorted()用法深入分析
2019/10/08 Python
纯css3实现效果超级炫的checkbox复选框和radio单选框
2014/09/01 HTML / CSS
西班牙网上书店:Casa del Libro
2016/11/01 全球购物
美国的Eastbay旗下的运动款子品牌:Final-Score
2018/01/01 全球购物
法国低价在线宠物商店:bitiba.fr
2020/07/03 全球购物
酒店人事专员岗位职责
2013/12/19 职场文书
员工拓展培训方案
2014/02/15 职场文书
酒店客房服务员岗位职责
2015/04/09 职场文书
关于感恩的歌曲整理(8首)
2019/08/14 职场文书
Python的flask接收前台的ajax的post数据和get数据的方法
2021/04/12 Python
R9700摩机记
2022/04/05 无线电
Windows server 2003卸载和安装IIS的图文教程
2022/07/15 Servers