购物车渲染

1.需求:渲染展示图书

2.呈现效果:

 3.完成代码:

<template>
  <div id="app">
    <h3>我的购物车</h3>
    <div>
      <ul
        v-for="(item, index) in getBooks"
        :key="index"
        :class="{ current: index === highlight }"
        @click="curFn(index)"
      >
        <li>
          <img :src="item.img" />
        </li>
        <li id="nameLi">
          <p id="namep">{{ item.name }}</p>
          <span>{{ item.price }}</span>
        </li>
        <button id="but" title="移出购物车" @click="butFn(index)">X</button>
      </ul>
    </div>
  </div>
</template>
<script>
// 需求:渲染展示图书
// axios在main.js全局配置
export default {
  data() {
    return {
      // 定义变量 接收拿过来的数据
      getBooks: [],
      // 默认有边框的索引
      highlight: 0,
    };
  },
  // 把axios封装 方便后期复用
  methods: {
    async booKs() {
      try {
        const res = await this.$axios.get("/api/books");
        console.log(res);
        this.getBooks = res.data.data;
      } catch (err) {
        console.log(err);
      }
    },
    // 删除
    butFn(idx) {
      this.getBooks.splice(idx, 1);
    },
    // 边框
    curFn(i) {
      this.highlight = i;
    },
  },
  // 调用axios 在初始化钩子之后拿数据
  created() {
    this.booKs();
  },
};
</script>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值