您当前的位置:首页 > 网站建设 > javascript
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax |

vue实现可改变购物数量的购物车

51自学网 2022-05-02 21:35:59
  javascript

本文实例为大家分享了vue实现改变购物数量的购物车,供大家参考,具体内容如下

效果图:

知识点:

1.computed 计算属性
2.filters 过滤器

实现代码:

<!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>Document</title></head><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><style>    table {        border-collapse: collapse;        border-spacing: 0;        border: 1px solid #ccc;    }        td,    th {        padding: 8px 16px;        border: 1px solid #ccc;        text-align: left;    }        th {        background-color: #f7f7f7;        color: #5c6b77;    }</style><body>    <div id="box">        <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 | toprice}}</td>                        <td>                            <button @click='down(index)' :disabled="item.aunt<=1">-</button> {{item.aunt}}                            <button @click='add(index)'>+</button>                        </td>                        <td>                            <button @click="remove(index)">移除</button>                        </td>                    </tr>                </tbody>            </table>            <h2>总价:{{getallprice | toprice}}</h2>        </div>        <h2 v-else>您没有购物信息</h2>    </div>    <script>        const vm = new Vue({            el: "#box",            data: {                books: [{                    id: 1,                    name: "《vue.js实战》",                    date: "2010.2.4",                    price: 82.00,                    aunt: 1                }, {                    id: 2,                    name: "《javascript实战》",                    date: "2010.2.4",                    price: 108.00,                    aunt: 1                }, {                    id: 3,                    name: "《html+css实战》",                    date: "2010.2.4",                    price: 42.50,                    aunt: 1                }, {                    id: 4,                    name: "《axios实战》",                    date: "2010.2.4",                    price: 82.00,                    aunt: 1                }, {                    id: 5,                    name: "《jquery实战》",                    date: "2010.2.4",                    price: 65.20,                    aunt: 1                }, ]            },            methods: {                add(index) {                    this.books[index].aunt++;                },                down(index) {                    this.books[index].aunt--;                },                remove(index) {                    this.books.splice(index, 1)                },            },            computed: {                getallprice() {                    let all = 0;                    for (let i = 0; i < this.books.length; i++) {                        all += this.books[i].price * this.books[i].aunt                    }                    return all                }            },            filters: {                toprice(price) {                    return '¥' + price.toFixed(2)                },            }        })    </script></body></html>

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


微信小程序实现计算器案例
vue-route路由管理的安装与配置方法
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1