• vue实现简单的购物车功能


    <!DOCTYPE html>
    <html lang="zh">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta http-equiv="X-UA-Compatible" content="ie=edge" />
        <title>购物车</title>
    </head>
    <body> 
            <div id="app">
                    <table>
                           <thead>
                                       <tr>
                                           <th>序号</th>
                                           <th>商品名称</th>
                                           <th>商品单价</th>
                                           <th>购买数量</th>
                                           <th>操作</th>
                                       </tr>
                           </thead>
                           <tbody>
                                   <tr v-for="(item,index) in list">
                                         <td>{{index+1}}</td>
                                         <td>{{item.name}}</td>
                                         <td>{{item.price}}</td>
                                         <td>
                                              <button @click="handleReduce(index)" :disabled="item.count===1">-</button>
                                              {{item.count}}
                                              <button @click="handleAdd(index)">+</button>
                                         </td>
                                         <td>
                                                <button @click="handleRemove(index)">移除</button>
                                         </td>
    
                                   </tr>
                           </tbody>    
                    </table>
                    <div>总价:{{totalPrice}}</div>
                    <!-- <div v-else>购物车为空</div> -->
    
    
            </div>
         
    
    </body>
    
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script type="text/javascript">
            var vue=new Vue({
                el:"#app",
                data:{
                    list:[
                    {
                        id:1,
                        name:'iphone 7',
                        price:6188,
                        count:1
                    },
                    {
                        id:2,
                        name:'iphone 8',
                        price:7188,
                        count:1
                    },
                    {
                        id:3,
                        name:'iphone X',
                        price:8188,
                        count:1
                    }],
                },
                methods:{
                    handleReduce:function(index){
                        if(this.list[index].count===1) return;
                        this.list[index].count--;
                    },
                    handleAdd:function(index){
                        this.list[index].count++;
                    },
                    handleRemove:function(index){
                        this.list.splice(index,1);
                    }
                },
                computed:{
                    totalPrice:function(){
                        var total=0;
                        for(var i=0,len=this.list.length;i<len;i++){
                            total+=this.list[i].price*this.list[i].count;
                        }
    return total.toString().replace(/B(?=(d{3})+$)/g, ','); } } }); </script> </html>
  • 相关阅读:
    爬虫示例
    S20_DAY23--课堂笔记
    python--常用模块之正则
    S20_DAY22--课堂笔记
    win10系统重装
    CCF 命令行选项
    CCF 任务调度
    CCF 出现次数最多的数
    CCF ISBN
    CCF 最大的矩形
  • 原文地址:https://www.cnblogs.com/kangshuai/p/9632755.html
Copyright © 2020-2023  润新知