热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

用Vue实现的购物车功能

CSS代码:同前篇html代码:

CSS代码:同前篇

html代码:

  1. class="box">
  2. 我的购物车(Vue实现)

  3. class="selectAll">
  4. type="checkbox" class="check-all" name="check-all" @click="checkAll()" :checked="chka" />
  5. for="check-all">全选
  • class="list">
  • 选择品名数量单价金额
  • v-for="(item,index) of list">
  • type="checkbox" @click="checkThis(index)" :checked="item.check" />
  • class="content">手机
  • type="number" v-model="item.num" min="1" class="num" />
  • class="price">{{item.price}}
  • class="amount">{{item.price*item.num}}
  • 总计:
  • class="total-num">{{totalNum}}
  • class="total-amount">{{totalAmount}}
  • class="account">结算
  • Javascript代码:

    1. const app = Vue.createApp({
    2. data() {
    3. return {
    4. chka:true,
    5. list:[{check:true,num:1,price:100},{check:true,num:2,price:200},{check:true,num:3,price:300}],
    6. }
    7. },
    8. computed: {
    9. totalNum(){
    10. return this.list.filter(item=>item.check).reduce((acc,item)=>acc+item.num,0);
    11. },
    12. totalAmount(){
    13. return this.list.filter(item=>item.check).reduce((acc,item)=>acc+item.num*item.price,0);
    14. }
    15. },
    16. methods: {
    17. checkAll(){
    18. this.chka=!this.chka;
    19. this.list.forEach(item=>item.check=this.chka);
    20. },
    21. checkThis(index){
    22. this.list[index].check=!this.list[index].check;
    23. this.chka=this.list.every(item=>item.check==true);
    24. }
    25. },
    26. }).mount('.box')

    购物车图示:


    推荐阅读
    author-avatar
    沙上的蜃楼
    这个家伙很懒,什么也没留下!
    Tags | 热门标签
    RankList | 热门文章
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有