Vue中vuex的应用(二)

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

vuex模块化


  • 为什么需要模块化?
  • 团队协作开发需要
  • 方便后期维护管理
  • 怎么模块化?
  • 将除modules对象中的内容按照指定的拆分标准进行按文件分离
  • 在index.js中导入并在modules对象中注册

有什么需要注意的?

  • 因为模块化,后续的语法需要有所调整,具体见下
  • 命名冲突时会执行自动合并策略
  • state,名字相同也不会冲突
  • mutations、actioms里同名方法会被合并成数组,都执行(index.js中的是最先执行的)
  • getters如果同名,无法合并,直接报错
  • 通过命名空间来避免冲突(给每个模块开启命名空间)
  • 设置模块的namespaced属性为true即可


vuex模块化后的语法:


  • 获取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