关于作者: 符道胜,大二学生一枚,最低级的前端小白(努力学习充电中),微信:15660950157。
介绍: 2020春节,新冠席卷而来,学校无法开学,此时在家无聊的我确定了前端的学习方向。由于大一,大二零零散散的前端知识不全面,而且好多知识都还给了老师,所以利用在家的这大半年时间系统的学习了前端的知识,本项目是为了巩固所学知识,积累实战经验。写这个项目的时候基本每天把所有时间都给了它,但是由于是第一个大型实战项目,缺乏经验,所以在开发过程中不可避免的踩了许多坑,也曾为了一个bug在电脑前坐了一天,但是对我来说前端的学习中还是有许多成就感的,今天项目完成了,也在此和大家分享一下。
说明: 本项目后端接口为coderwhy老师所有,想做本项目的小伙伴可以联系老师购买接口(不贵,希望大家尊重原创),老师微信:coderwhy002.
项目预览(请使用手机预览):
项目地址: https://fudaosheng.gitee.io/supermall
项目效果图
首页:
| | |
详情页
|---|---|
分类和购物车:
| | |
我的
|---|---|
** 项目文件结构:**
项目功能
首页: 首页主要由六部分组成:导航栏,轮播图,分类,本周流行,选项卡,商品展示。每一部分均是一个独立组件,组件之间利用props,$emit通信,点击展示的商品跳转到该商品的详情页。
详情页: 详情页主要由九部分组成:导航栏,轮播图,商品基本信息,店铺基本信息,商品上身效果图,商品参数,商品评论,推荐,底部工具栏。 点击“加入购物车”选项,弹出购买商品页面,通过vuex对购买商品数据进行保存,加入购物车完成弹出消息提示。
分类页面: 分类页面由三部分组成:顶部导航栏,左侧商品分类栏,右侧类别展示栏。
购物车页面: 该页面由导航栏,购物车商品展示栏,底部工具栏三部分组成。
取消选中商品,CartListItem将会commit提交一个事件给vuex的mutations修改对应商品的checked选项,此时底部的工具栏中总价也会相应减少。底部工具栏的全选按钮只有当购物车中所有商品都被勾选时才被选中,全选按钮选中时点击则是反选按钮,没被选中时点击则是全选按钮。所有vuex中state的修改均是通过mutations修改。
我的: 由于做的仅是前端,所以我的页面只是一些布局,不在说明。
** (1)mutations:
/**mutations:
* 1.mutations唯一的目的就是修改state
* 2.mutations中每个事件尽可能只做一间事,目的是为了更好的监听数据是哪个mutations修改的
* actions:
* 1.做异步操作,2.在action中进行条件判断
*/
(2)$emit传值踩坑:
笔记地址:文档:$emit传值踩坑.note
(3)vuex中getters监听踩坑:
地址:文档:vuex-getters监听不到state变化.note
(4) 动态绑定class时监听不到对象里属性的变化如::class="{action:item.checked},通过click时修改item.checked时样式并不会随之变化
最后:笔记有点多也不知道哪些对小伙伴们有用,就不再放上面,祝小伙伴们天天开心,财源滚进, 喜欢的点个Star 。
项目运行:
npm install
npm run serve
npm run build
npm run test
npm run lint
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。