vue系列教程之微商城项目|vuex全局状态管理-加入购物车

简介: vue系列教程之微商城项目|vuex全局状态管理-加入购物车

问题描述

vuex简介

vuex是vue项目中用于管理全局状态的插件,如果对状态二字不明了,就简单理解成全局变量即可.

全局状态管理方式有很多,千奇百怪,比如bus总线、自定义一个js文件等,感兴趣可以自行百度,不了解也没关系.不同的方法不利于代码阅读和管理,所以vuex统一了全局状态管理的方式。


解决方案

vuex创建和引用

自动创建和引用

在用脚手架vue-cli创建项目时(vue create xxx),如果已经选择了vuex,那么在项目src目录下会自动创建store文件夹,并自动引入项目中。

手动创建和引用

如果项目创建时没选vuex,来看一下配置步骤

1.在项目根目录下,执行 npm install vuex 下载插件

2.新建 src/store/index.js

3.编写基础代码

src/store/index.js

4.在main.js中,将vuex引入到项目中

vuex使用

src/store/index.js 文件中,我们只需要关注state、getters、mutations、actions、modules五个对象即可.

 

1.state 用于存放全局变量案例:

2.getters 用于在其他页面获取state中的对象,所以getters内放置的都是函数,用于返回state中的值。

类似与data和computed的关系。因为state中存放的全局变量不建议直接读取和修改。

案例:

 

在某个页面中获取name变量

3.mutations 用于修改state中全局变量的值,该操作是同步的案例:

在某个页面中修改name变量

4.actions 同样用于修改state中全局变量的值,但该操作是异步的,如果修改name变量的过程中有异步操作,需要放在这里。比如网络请求就是异步操作.

在某个页面中调用异步方式修改name变量

5.modules 如果想在项目中设置多个vuex对象,根据某种分类存放不同的全局变量,需要用到该属性,本项目中不使用,所以使用方法自行百度.

加入购物车

编写全局变量,保存商品信息

store/index.js

 

在商品详情页中的'加入购物车'点击事件中,调用mutations中的函数,将商品保存到全局变量中

查看打印结果

目录
相关文章
|
9月前
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
496 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
6月前
|
JavaScript 前端开发 UED
Vue 项目中如何自定义实用的进度条组件
本文介绍了如何使用Vue.js创建一个灵活多样的自定义进度条组件。该组件可接受进度段数据数组作为输入,动态渲染进度段,支持动画效果和内容展示。当进度超出总长时,超出部分将以红色填充。文章详细描述了组件的设计目标、实现步骤(包括props定义、宽度计算、模板渲染、动画处理及超出部分的显示),并提供了使用示例。通过此组件,开发者可根据项目需求灵活展示进度情况,优化用户体验。资源地址:[https://pan.quark.cn/s/35324205c62b](https://pan.quark.cn/s/35324205c62b)。
274 0
|
10月前
|
SQL JavaScript 安全
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
441 11
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
|
9月前
|
资源调度 JavaScript 前端开发
Pinia 如何在 Vue 3 项目中进行安装和配置?
Pinia 如何在 Vue 3 项目中进行安装和配置?
716 4
|
JavaScript Java 物联网
现有vue项目seo优化
现有vue项目seo优化
|
JavaScript 前端开发
重读vue电商网站45之项目优化上线
重读vue电商网站45之项目优化上线
207 0
重读vue电商网站45之项目优化上线
|
3月前
|
JavaScript
Vue中如何实现兄弟组件之间的通信
在Vue中,兄弟组件可通过父组件中转、事件总线、Vuex/Pinia或provide/inject实现通信。小型项目推荐父组件中转或事件总线,大型项目建议使用Pinia等状态管理工具,确保数据流清晰可控,避免内存泄漏。
329 2
|
2月前
|
缓存 JavaScript
vue中的keep-alive问题(2)
vue中的keep-alive问题(2)
304 137
|
6月前
|
人工智能 JavaScript 算法
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
818 0
|
6月前
|
JavaScript UED
用组件懒加载优化Vue应用性能
用组件懒加载优化Vue应用性能

热门文章

最新文章