小案例 购物车

风流意气都作罢 提交于 2019-12-05 06:47:43
<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <link rel="stylesheet" href="index.css"></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.data}}</td>                <td>{{item.price|getp}}</td><!-- 使用了过滤器-->                <td>                    <button @click="decreasement(index)" :disabled="item.count<=0">-</button>                    {{item.count}}                    <button @click="increasment(index)">+</button>                </td>                <td><button @click="remove(index)">移除</button></td>            </tr>            </tbody>        </table>        <h2>总价格:{{totalPrice|getp}}</h2>    </div>    <h2 v-else>购物车为空</h2></div><script src="vue.js"></script><script src="main.js"></script></body></html>
table{    border: 1px;    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 ;}
const app=new Vue({    el:'#app',    data:{        books:[{            id:1,            name:"算法导论",            data: '2006-1',            price:39.00,            count:1        },{            id:2,            name:"算法导论",            data: '2006-1',            price:39.00,            count:1        },{            id:3,            name:"算法导论",            data: '2006-1',            price:39.00,            count:1        },{            id:4,            name:"算法导论",            data: '2006-1',            price:39.00,            count:1        }]    },    methods:{        getfinalprice(price){            return "$"+price.toFixed(2);        },        decreasement(index){            this.books[index].count--;        },        increasment(index){            this.books[index].count++;        },        remove(index){            this.books.splice(index,1);        }    },    filters:{        getp(price){            return "$"+price.toFixed(2);        }    },    computed:{        totalPrice(){            let result=0;            for (let i=0;i<this.books.length;i++){                result+=this.books[i].price*this.books[i].count;            }            return result;        }    }})
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!