Vue中vuex的应用(一)

简介: Vue中vuex的应用(一)

Vuex


vuex是一种项目中数据共享的方式。(vuex是项目中对于大规模状态【数据】的管理工具)

其具有以下优势:

  • 能够在vuex中集中管理共享的数据,便于开发和后期进行维护
  • 能够高效的实现组件之间的数据共享,提高开发效率(代码量
  • 存储在vuex中的数据是响应式的,当数据发生改变时,页面中的数据也会同步更新


什么样的数据适合存储在Vuex中?

一般情况下,只有组件之间共享的数据才有必要存储到vuex中,对于组件中私有的数据依旧存储在组件自身的data中即可。

注意事项:由于vue项目一刷新就会重新编译,因此每次刷新都会重新初始化vuex中的数据,会导致之前的数据丢失,因此vuex中一般不保存非常重要的数据。【放在vuex中的数据一般是刷新后也不影响业务的数据】


vuex核心概念(

vuex的核心组成:


  • state:状态,用于初始化仓库中的数据,在这里声明项目中全局使用的数据
  • mutations:修改state数据的方法,存放用于修改state数据的方法

只存放同于同步修改数据的方法

每个方法接收俩个形参,依次是:

state:object,指的是仓库中的数据

payload:any类型,用于修改数据的数据源(可选)

函数不需要return,所有操作都是基于state直接更改

actions:修改state数据的方法,存放用于修改state数据的方法

只存放同于异步修改数据的方法

每个方法接收俩个形参,依次是:

context:object,指的是仓库对象(上下文对象)

payload:any类型,用于修改数据的数据源(可选)

函数不需要return,所有操作都是基于state直接更改

这里的方法本身自己不直接该数据,而是通过context对象调用mutations中的方法去修改数据

getters:获取并修饰数据(对数据进行格式处理),存储用于修饰数据的方法

里面的方法有一个形参

state:object,指的是仓库中的数据

每个函数必须有返回值,返回修饰完的数据

modules:模块化,存放模块化后的仓库模块,这里存放导入进来的模块变量


vuex语法,vuex支持对象属性形式、辅助函数形式去操作store中数据,所以每个操作都具备俩个语法:


获取state数据


对象属性:this.$store.state.属性名

辅助函数:mapState

作用:将指定的state中的数据映射为组件自身的计算属性

语法:

写在computed中

…mapState([属性名1,属性名2,…])


同步修改数据


对象属性:this.$store.commit(方法名,载荷数据)

辅助函数:mapMutations

作用:将指定的mutations中的方法映射为组件自身的方法

语法:

写在methods中

…mapMutations([方法名1,方法名2,…])


异步修改数据


对象属性:this.$store.dispatch(方法名,载荷数据)

辅助函数:mapActions

作用:将指定的Actions中的方法映射为组件自身的方法

语法:

写在methods中

…mapActions([方法名1,方法名2,…])


获取修饰数据


对象属性:this.$store.getters.属性名

辅助函数:mapGetters

作用:将指定的getters中的数据映射为组件自身的计算属性

语法:

写在computed中

…mapGetters([属性名1,属性名2,…])

目录
相关文章
|
25天前
|
JavaScript API 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
1天前
|
JavaScript 关系型数据库 MySQL
基于VUE的校园二手交易平台系统设计与实现毕业设计论文模板
基于Vue的校园二手交易平台是一款专为校园用户设计的在线交易系统,提供简洁高效、安全可靠的二手商品买卖环境。平台利用Vue框架的响应式数据绑定和组件化特性,实现用户友好的界面,方便商品浏览、发布与管理。该系统采用Node.js、MySQL及B/S架构,确保稳定性和多功能模块设计,涵盖管理员和用户功能模块,促进物品循环使用,降低开销,提升环保意识,助力绿色校园文化建设。
|
25天前
|
JavaScript 前端开发 开发者
Vue是如何劫持响应式对象的
Vue是如何劫持响应式对象的
23 1
|
25天前
|
JavaScript 前端开发 API
介绍一下Vue中的响应式原理
介绍一下Vue中的响应式原理
27 1
|
25天前
|
JavaScript 前端开发 API
Vue.js 3:深入探索组合式API的实践与应用
Vue.js 3:深入探索组合式API的实践与应用
|
25天前
|
JavaScript 前端开发 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
25天前
|
存储 JavaScript 前端开发
介绍一下Vue的核心功能
介绍一下Vue的核心功能
|
7月前
|
JavaScript API
【vue实战项目】通用管理系统:api封装、404页
【vue实战项目】通用管理系统:api封装、404页
77 3
|
7月前
|
人工智能 JavaScript 前端开发
毕设项目-基于Springboot和Vue实现蛋糕商城系统(三)
毕设项目-基于Springboot和Vue实现蛋糕商城系统
|
7月前
|
JavaScript Java 关系型数据库
毕设项目-基于Springboot和Vue实现蛋糕商城系统(一)
毕设项目-基于Springboot和Vue实现蛋糕商城系统
191 0