我的编程空间,编程开发者的网络收藏夹
学习永远不晚

vue实现简单的购物车功能

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

vue实现简单的购物车功能

本文实例为大家分享了vue实现简单购物车功能的具体代码,供大家参考,具体内容如下

1.实现效果:

2.涉及到的知识点:

toFixed函数、过滤器、reduce高阶函数、v-bind:disabled、v-if

3.代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>书籍购物车案例</title>
    <style>
        table {
            border: 1px solid #e9e9e9;
            border-collapse: collapse;
            border-spacing: 0;
        }
        th, td {
            padding: 8px 16px;
            border: 1px solid #e9e9e9;
            text-align: left;
        }
        th {
            background-color: #f7f7f7;
            color: #5c6b77;
            font-weight:600;
        }
    </style>
</head>
<body>
    <div id="app">
        <div v-if="books.length">
        <table>
            <thead>
                <tr>
                    <th></th>
                    <th>书籍名称</th>
                    <th>出版日期</th>
                    <th>价格</th>
                    <th>购买数量</th>
                    <th>操作</th>
                </tr>
            </thead>
            <tbody>
                <tr v-for="(item,index) in books">
                    <td>{{item.id}}</td>
                    <td>{{item.name}}</td>
                    <td>{{item.date}}</td>
                    <td>¥{{item.price | finalPrice}}</td>
                    <td>
                        <button @click="item.count--" :disabled="item.count <=1">-</button>
                        {{item.count}}
                        <button @click="item.count++">+</button>
                    </td>
                    <td><button @click="btndelete(index)">移除</button></td>
                </tr>
            </tbody>
        </table>
        <h2>总价格:{{sumPrice | finalPrice}}</h2>
    </div>
    <div v-else><h2>购物车为空</h2></div>
    </div>
    <script class="lazy" data-src="../../js/vue.js"></script>
    <!-- <script class="lazy" data-src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script> -->
    <script>
        const app = new Vue({
            el: '#app',
            data: {
                books: [
                    {
                        id: 1,
                        name: '《算法导论》',
                        date: '2006-9',
                        price: 85.00,
                        count:1
                    },
                    {
                        id: 2,
                        name: '《算法导论》',
                        date: '2006-9',
                        price: 85.00,
                        count:1
                    },
                    {
                        id: 3,
                        name: '《算法导论》',
                        date: '2006-9',
                        price: 85.00,
                        count:1
                    },
                    {
                        id: 4,
                        name: '《算法导论》',
                        date: '2006-9',
                        price: 85.00,
                        count:1
                    },
                    {
                        id: 5,
                        name: '《算法导论》',
                        date: '2006-9',
                        price: 85.00,
                        count:1
                    }
 
                ]
            },
            methods: {
                btndelete(index){
                    this.books.splice(index,1);
                }
            },
            filters: {
                finalPrice(price){
                    return '¥' + price.toFixed(2);
                }
            },
            computed: {
                sumPrice(){
                    // 计算价格法1:
                    // let sum = 0;
                    // for(let book of this.books) {
                    //     sum += book.price * book.count;
                    // }
                    // return  sum;
                    // 计算价格法2,使用reduce函数。
                    return this.books.reduce(((preValue,book)=>preValue + book.count * book.price),0);
                }
            }
        })
    </script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

vue实现简单的购物车功能

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

vue如何实现简单的购物车功能

这篇文章主要介绍“vue如何实现简单的购物车功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue如何实现简单的购物车功能”文章能帮助大家解决问题。1.实现效果:2.涉及到的知识点:toFixed
2023-07-02

Android实现简单购物车功能

本文实例为大家分享了Android实现购物车功能的具体代码,供大家参考,具体内容如下MainActivity布局:
2023-05-30

php实现简单加入购物车功能

以下是一个简单的PHP代码示例,实现了一个简单的加入购物车功能。```phpsession_start();// 初始化购物车为空数组if (!isset($_SESSION['cart'])) {$_SESSION['cart'] = a
2023-08-15

vue如何实现简单的购物车

今天小编给大家分享一下vue如何实现简单的购物车的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。效果图如下