vue-cms 中 vuex的应用 和 vue-cms的遇到的问题

本文详细介绍了在Vue-CMS项目中如何使用Vuex进行状态管理,包括在main.js中配置Vuex实例,声明state、mutations及在组件中调用。在实际操作中遇到了页面标签高亮问题、图标拓展以及评论数据加载问题,并逐一提供了解决方案,如自定义路由高亮类、引入额外图标库和正确合并评论数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.main.js  里 new Vuex.store

2.挂载 到 实例(这样 其他组件就可以  取到 store 里的数据)

3.state 里 建立了一个 car对象,里面有 商品id、价格、数量、选中状态

同时  在GoodsInfo.vue   商品信息 这个组件 里  我也创建了 具备这些信息的  goodsInfo 对象

4.store  里 mutations  有 加入购物车addTocar(state, goodsinfo)、从购物车 中 删除removeFromCar、更改购物车中  商品数量(state, id)、updateGoodsInfo(state, goodsinfo)这些方法

5.举例说明 GoodsInfo.vue  里

GoodsInfo  组件里 调用 mutations 里的方法  用this.$store.commit('addTocar',  goodsInfo);

用 this.$store.commit()来调用  第一个参数是 mutations里的 方法名,第二个是  GoodsInfo 要穿过去的 商品信息

6.将 购物车里  商品 id 和 goodsinfo  里商品id 进行匹配,一旦找到,就 对数据进行 操作

6.这个是对 mutations 里方法 的调用 mutaitions

App.vue  主界面的布局 组件 ,通过 $store.getters.xxx  方法名 来 获取到  state中car的count 信息

getters  和 computed的相似之处、和 filters 的相似之处

…………

问题:

1.切换 页签的时候 没有蓝色的高亮

在 router.js  里 路由对象(var router = new VueRouter({}))有个 属性 是linkActiveClass  用自己创建的  高亮的类 覆盖 默认路由 高亮的类

这个  自己创建的类   写在 App。vue <style>中

2.拓展图标 

mui里没有 购物车 这个图标 

然后 自己到 icon-extra文件下去找   在main.js里 不光导入 mui.min.css   还要导入  icons-extra.css

但是 这个时候 还是不行  查了官方文档才知道  还需要把它依赖的 字体图标文件  'mui-icons-extra.ttf'  放到 fonts 目录下

3.获取  评论数据 到 页面中

当我 点击“加载更多”   想获取过往的评论时  发现之前的评论都没有了

这个  装评论信息  的定义的 comments数组

仔细 检查接收 数据的那行代码   this.comments=result.body.message

相当于  每次获取到 信息时  都用新的 覆盖 原来的,所以  之前评论 都没了

用了concat   改成   this.comments = this.comments.concat(result.body.message);  就成功了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值