这期内容当中小编将会给大家带来有关使用vue怎么编写一个购物车功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
具体内容如下
// An highlighted block <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .cl{ border: 1px solid black; width: 300px; margin: 30px; padding: 15px; } </style> </head> <body> <div id="app"> <div class="cl" v-for="(item,index) in items"> <h5>{{item.sname}}</h5> <button @click="item.sum==0?item.sum==0:item.sum--">-</button> <span>{{item.sum}}</span> <button @click="item.sum++">+</button> <span>{{item.sprice}}元/斤</span> </div> <table> <tr> <th>选择</th> <th>商品名</th> <th>商品数量</th> <th>商品价格</th> </tr> <tr v-for="(item,index) in items"> <td><input type="checkbox" :checked="item.isSelect" @click="item.isSelect=!item.isSelect"></td> <td>{{item.sname}}</td> <td>{{item.sum}}</td> <td>{{item.sprice*item.sum}}</td> </tr> <tr> <td><input type="checkbox" @click="selectProduct(isSelectAll)" :checked="isSelectAll">全选</tf> <td>合计</tf> <td>{{total.totalNum}}</tf> <td>{{total.totalPrice}}</tf> </tr> </table> </div> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script> new Vue({ el:'#app', data:{ items:[ { 'sname':'苹果', 'sum':1, 'sprice':'10', }, { 'sname':'香蕉', 'sum':1, 'sprice':'12', }, { 'sname':'橘子', 'sum':1, 'sprice':'8', }, ] }, methods:{ selectProduct:function(_isSelect){ for(var i=0 ,len=this.items.length;i<len;i++){ this.items[i].isSelect=!_isSelect; } }, }, computed:{ isSelectAll:function(){ return this.items.every(function(val){return val.isSelect}) }, total:function(){ var prolist = this.items.filter(function(val){return val.isSelect}); totalpri = 0; totalnum = 0; for (var i = 0;i<prolist.length;i++){ totalpri+=prolist[i].sprice*prolist[i].sum; totalnum+=prolist[i].sum } return{totalNum:totalnum,totalPrice:totalpri} } }, mounted:function(){ var _this=this; this.items.map(function(item){ _this.$set(item,'isSelect',false) }) } }) </script> </body> </html>
上述就是小编为大家分享的使用vue怎么编写一个购物车功能了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。