博主信息
博文 20
粉丝 0
评论 1
访问量 17420
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
Vue 购物车页面计算功能的实现
zg的php学习
原创
609人浏览过

Vue 购物车页面计算功能的实现

  1. <template>
  2. <div>
  3. <table class="cart">
  4. <caption>
  5. 购物车
  6. </caption>
  7. <thead>
  8. <th></th>
  9. <th>编号</th>
  10. <th>商品名称</th>
  11. <th>价格</th>
  12. <th>数量</th>
  13. <th></th>
  14. </thead>
  15. <tbody>
  16. <tr v-for="(row, index) in cartlist" :key="index">
  17. <td><input type="checkbox" v-model="row.checkbox" /></td>
  18. <td>{{ row.id }}</td>
  19. <td>{{ row.name }}</td>
  20. <td>{{ row.price.toFixed(2) }}</td>
  21. <td>
  22. <button @click="row.count--" :disabled="row.count <= 1">-</button>
  23. {{ row.count }}
  24. <button @click="row.count++">+</button>
  25. </td>
  26. <td><a href="#" @click.prevent="del(index)">删除</a></td>
  27. </tr>
  28. </tbody>
  29. <tfoot>
  30. <tr>
  31. <td colspan="3">总价</td>
  32. <td colspan="3">¥{{ totalPrice }}</td>
  33. </tr>
  34. </tfoot>
  35. </table>
  36. </div>
  37. </template>
  38. <script>
  39. const cartArr = [
  40. { id: 1, checkbox: false, name: "《细说PHP》", price: 10, count: 1 },
  41. { id: 2, checkbox: true, name: "《细说网页制作》", price: 10, count: 1 },
  42. {
  43. id: 3,
  44. checkbox: true,
  45. name: "《细说JavaScript 语言》",
  46. price: 10,
  47. count: 1,
  48. },
  49. { id: 4, checkbox: true, name: "《细说DOM 和BOM》", price: 10, count: 1 },
  50. {
  51. id: 5,
  52. checkbox: false,
  53. name: "《细说Ajax 与jQuery》",
  54. price: 10,
  55. count: 1,
  56. },
  57. { id: 6, checkbox: true, name: "《细说HTML5 高级API》", price: 10, count: 1 },
  58. ];
  59. export default {
  60. name: "app",
  61. data() {
  62. return {
  63. cartlist: cartArr,
  64. };
  65. },
  66. computed: {
  67. totalPrice: {
  68. get() {
  69. return this.cartlist
  70. .filter((row) => row.checkbox)
  71. .reduce((p, c) => {
  72. return (p += c.price * c.count);
  73. }, 0)
  74. .toFixed(2);
  75. },
  76. },
  77. },
  78. methods: {
  79. del(index) {
  80. this.cartlist.splice(index, 1);
  81. },
  82. },
  83. };
  84. </script>
  85. <style>
  86. .cart {
  87. width: 500px;
  88. border-collapse: collapse;
  89. text-align: center;
  90. }
  91. .cart td,
  92. .cart th {
  93. border: 1px solid black;
  94. padding: 2px 3px;
  95. }
  96. .cart tbody tr:hover {
  97. background-color: #e3e3e3;
  98. }
  99. </style>

购物车

批改老师:PHPzPHPz

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学