用Vue制作一个简单购物车

先上一张效果图:

 

为什么都用Vue开发网页呢?因为它简单便捷。

来给大家看一个Vue框架实现一个简单的购物车,感受一下Vue的便捷。

 

构造主要还是老生常谈的第三个部分:html,css,Javascript。

 

Html负责制作网页上显示购物车的表,并完成少部分逻辑(点击+商品数量加一;点击-商品数量减一;点击移除将商品数量置零)

Css负责渲染表的样式

JS负责传入数据并计算总价

 

上一下代码:

<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml" xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>ShoppingBag</title>
</head>

<!--配置CSS样式-->
<style>
    table {
        border: 1px solid black;
    }
    table {
        width: 100%;
    }

    th {
        height: 50px;
    }
    th, td {
        border-bottom: 1px solid #ddd;
    }
</style>

<body>
<!--HTML部分-->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<div id="app">
    <table>
        <tr>
            <th>序号</th>
            <th>商品名称</th>
            <th>商品价格</th>
            <th>购买数量</th>
            <th>操作</th>
        </tr>
        <tr v-for="huawei in Ip_Json">
            <td>{{ huawei.id }}</td>
            <td>{{ huawei.name }}</td>
            <td>{{ huawei.price }}</td>
            <td>
                <button v-bind:disabled="huawei.count === 0" v-on:click="huawei.count-=1">-</button>
                {{ huawei.count }}
                <button v-on:click="huawei.count+=1">+</button>
            </td>
            <td>
                <button v-on:click="huawei.count=0">移除</button>
            </td>
        </tr>
    </table>
    总价:${{totalPrice()}}
</div>

<!--JavaScript逻辑控制部分-->
<script>
    var app = new Vue({
        el: '#app',
        data: {
            Ip_Json: [{
                id: 1,
                name: 'huawei 10',
                price: 2600,
                count: 1
            },
                {
                    id: 2,
                    name: 'huawei P10',
                    price: 3999,
                    count: 1
                },
                {
                    id: 3,
                    name: 'huawei 12',
                    price: 4777,
                    count: 1
                }]

        },
        methods:{
            totalPrice : function(){
                var totalP = 0;
                for (var i = 0,len = this.Ip_Json.length;i<len;i++) {
                    totalP+=this.Ip_Json[i].price*this.Ip_Json[i].count;
                }
                return totalP;
            }


        }
    })
</script>

</body>
</html>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值