Vue/vant——渲染详情页添加购物车数据渲染到购物车页面,并进行删除数据效果

40 篇文章 6 订阅

目录

添加后的数据渲染在购物车页面

 使用$bus进行非父子组件传值使用解析

删除数据


 添加后的数据渲染在购物车页面

在登陆成功后请求购物车页面数据

Login.vue

        setTimeout(() => {
          this.$axios({
            method: "post",
            url: "/login",
            data: {
              username: this.username,
              password: this.password,
            },
          })
            .then((result) => {
              console.log(result);
              if (
                this.username === result.data.data.username ||
                this.password === result.data.data.password
              ) {
                Toast("登陆成功!");
                this.$store.dispatch('updateCartList')
                this.login(result.data.data);
                this.$router.push("/Myfile");
              } else {
                Toast("账号或密码不正确,请重新输入");
                this.pshow = true;
                return (this.show = false);
              }
            })
            .catch((err) => {
              console.log("数据请求错误,请联系工作人员");
              return Toast("404,请联系工作人员");
            });
        }, 1000);

 user.js

  actions: {
    updateCartList(
      {commit}
    ){
      Axios({
        url:'/cart',
        data:{},
        method:"get",
        headers:{
          token:true
        }
      }).then(v=>{
        window.sessionStorage.setItem('cart',JSON.stringify(v.data.data)) // 存储一下数据
        commit('noselectAll')        // 添加不全选方法
        // 赋值
        commit('initCartList', v.data.data) // 初始化渲染数据
      })
    }
  },

 这样写不会每次点击页面都请求数据


 使用$bus进行非父子组件传值使用解析

现在这里需要点击添加购物车时把数据添加到购物车里面。步骤如下:

main.js

Vue.prototype.$bus = new Vue();

detaiil.vue

接收使用$emit 

 

派发使用$on 

 


删除数据

添加成功后当然也需要进行删除,删除代码如下:

cart.js中的action

    dodelgoods({
			commit,
			state
		}) {
			Axios({
				url: '/cart/delete',
				method:'POST',
				data: {
					shop_ids: state.selectedAll.join(',')
				},
				header: {
					token: true
				}
			}).then(res => {
				console.log(res);
			})
			commit('delgoods')
		},

Cart.vue

 最后把删除事件变更为请求的方法即可完成

最终看一下实现效果:

 

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Southern Wind

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值