vue尚品汇商城项目-day02【14.vuex状态管理库】

简介: vue尚品汇商城项目-day02【14.vuex状态管理库】

1.jpeg

@[toc]

14.vuex状态管理库

14.1vuex是什么?

vuex是官方提供的一个插件,状态库管理,集中式管理项目组间共用的数据。

切记:并不是全部项目都需要vuex,如果项目很小,完全不需要vuex,如果项目很大,组件很多,数据很多,数据维护很费劲,就推荐使用vuex。

安装命令:npm install --save vuex

14.2使用vuex

第一种:非模块化,即store文件夹下只有一个总的index.js文件

image.png

  • 第1步:先创建src/store/index.js文件
//引入Vue
import Vue from "vue"
//引入Vuex -----相当于咱们最大的仓库
import Vuex from "vuex"
Vue.use(Vuex)

//actions代表一系列动作,可以书写自己的业务逻辑,也可以处理异步
const actions = {}
//mutations代表维护,操作维护的是state中的数据,且state中数据只能在mutations中处理
const mutations = {}
//state代表仓库中的数据
const state = {}
//getters理解为计算属性,用于简化仓库数据,让组件获取仓库的数据更加方便
const getters = {}

//需要暴露Vuex.Store类的实例(你需要暴露这个类的实例,如果你不对外暴露,外部是不能使用的)
export default new Vuex.Store({
    actions,
    mutations,
    state,
    getters
})
  • 第2步:在src/min.js中注册vuex
//引入vuex
import store from "@/store"

new Vue({
  render: h => h(App),
  //注册vuex,在每一个组件的身上都拥有一个$store这个属性
  store,
}).$mount('#app')

第二种:模块化

image.png

  • 第1步:在src/store文件夹下新建对应的路由组件模块的文件夹名称,并新建index.js文件
//Home模块的小仓库
//actions代表一系列动作,可以书写自己的业务逻辑,也可以处理异步
const actions = {}
//mutations代表维护,操作维护的是state中的数据,且state中数据只能在mutations中处理
const mutations = {}
//state代表仓库中的数据
const state = {}
//getters理解为计算属性,用于简化仓库数据,让组件获取仓库的数据更加方便
const getters = {}

//创建并暴露store
export default {
    actions,
    mutations,
    state,
    getters
}
  • 第2步:先创建src/store/index.js文件
//引入Vue
import Vue from "vue"
//引入Vuex -----相当于咱们最大的仓库
import Vuex from "vuex"
Vue.use(Vuex)

//引入home|search模块的仓库
import home from "@/store/home"
import login from "@/store/login"
import register from "@/store/register"
import search from "@/store/search"

//需要暴露Vuex.Store类的实例(你需要暴露这个类的实例,如果你不对外暴露,外部是不能使用的)
export default new Vuex.Store({
    //模块:把小仓库进行合并变为大仓库
    modules:{
        home,
        login,
        register,
        search
    }
})
  • 第3步:在src/min.js中注册vuex
//引入vuex
import store from "@/store"

new Vue({
  render: h => h(App),
  //注册vuex,在每一个组件的身上都拥有一个$store这个属性
  store,
}).$mount('#app')

本人其他相关文章链接

1.vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
2.vue尚品汇商城项目-day02【vue插件-13.nprogress进度条的使用】
3.vue尚品汇商城项目-day02【11.对axios二次封装+12.接口统一管理】
4.vue尚品汇商城项目-day02【14.vuex状态管理库】
5.vue尚品汇商城项目-day02【15.动态展示三级菜单联动】

目录
相关文章
|
1月前
|
JavaScript API 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
6天前
|
JavaScript 关系型数据库 MySQL
基于VUE的校园二手交易平台系统设计与实现毕业设计论文模板
基于Vue的校园二手交易平台是一款专为校园用户设计的在线交易系统,提供简洁高效、安全可靠的二手商品买卖环境。平台利用Vue框架的响应式数据绑定和组件化特性,实现用户友好的界面,方便商品浏览、发布与管理。该系统采用Node.js、MySQL及B/S架构,确保稳定性和多功能模块设计,涵盖管理员和用户功能模块,促进物品循环使用,降低开销,提升环保意识,助力绿色校园文化建设。
|
JavaScript Java 物联网
现有vue项目seo优化
现有vue项目seo优化
|
JavaScript 前端开发
重读vue电商网站45之项目优化上线
重读vue电商网站45之项目优化上线
139 0
重读vue电商网站45之项目优化上线
|
1月前
|
JavaScript 前端开发 开发者
vue学习第一章
欢迎来到我的博客!我是瑞雨溪,一名热爱前端的大一学生,专注于JavaScript与Vue,正向全栈进发。博客分享Vue学习心得、命令式与声明式编程对比、列表展示及计数器案例等。关注我,持续更新中!🎉🎉🎉
41 1
vue学习第一章
|
1月前
|
JavaScript 前端开发 索引
vue学习第三章
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。本文介绍了Vue中的v-bind指令,包括基本使用、动态绑定class及style等,希望能为你的前端学习之路提供帮助。持续关注,更多精彩内容即将呈现!🎉🎉🎉
30 1
|
1月前
|
缓存 JavaScript 前端开发
vue学习第四章
欢迎来到我的博客!我是瑞雨溪,一名热爱JavaScript与Vue的大一学生。本文介绍了Vue中计算属性的基本与复杂使用、setter/getter、与methods的对比及与侦听器的总结。如果你觉得有用,请关注我,将持续更新更多优质内容!🎉🎉🎉
38 1
vue学习第四章
|
1月前
|
JavaScript 前端开发 算法
vue学习第7章(循环)
欢迎来到瑞雨溪的博客,一名热爱JavaScript和Vue的大一学生。本文介绍了Vue中的v-for指令,包括遍历数组和对象、使用key以及数组的响应式方法等内容,并附有综合练习实例。关注我,将持续更新更多优质文章!🎉🎉🎉
25 1
vue学习第7章(循环)
|
1月前
|
JavaScript 前端开发
vue学习第九章(v-model)
欢迎来到我的博客,我是瑞雨溪,一名热爱JavaScript与Vue的大一学生,自学前端2年半,正向全栈进发。此篇介绍v-model在不同表单元素中的应用及修饰符的使用,希望能对你有所帮助。关注我,持续更新中!🎉🎉🎉
30 1
vue学习第九章(v-model)
|
1月前
|
JavaScript 前端开发 开发者
vue学习第十章(组件开发)
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。本文深入讲解Vue组件的基本使用、全局与局部组件、父子组件通信及数据传递等内容,适合前端开发者学习参考。持续更新中,期待您的关注!🎉🎉🎉
44 1
vue学习第十章(组件开发)