zoukankan      html  css  js  c++  java
  • vue.js实现购物车功能

    <!DOCTYPE html>
    <html>
    <head>
    	<meta charset="utf-8">
    	<title>vue</title>
    </head>
    <style type="text/css">
    	*{list-style: none;}
    	table,tr,td,th{border: 1px solid #000;border-collapse: collapse;}
    </style>
    <body>
    <div id="app">
    	<table>
    		<thead>
    			<tr>
    				<th>序号</th>
    				<th>书名</th>
    				<th>单价</th>
    				<th>数量</th>
    				<th>合计</th>
    			</tr>			
    		</thead>
    		<tbody>
    			<tr v-for = "(book,index) in goods">
    				<td>{{index}}</td>
    				<td>{{book.name}}</td>
    				<td>{{book.price}}</td>
    				<td><button @click="minus(index)" :disabled = "book.number===1" >-</button>{{book.number}}<button @click="add(index)">+</button></td>
    				<td>{{book.price*book.number}}</td>
    			</tr>
    		</tbody>
    	</table>	
    	<p>总价:{{total}}</p>
    </div>
    
    <script type="text/javascript" src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
    <script type="text/javascript">
    	var app = new Vue({
    		el:'#app',
    		data:{
    			goods:[
    				{name:"vue.js实战",price:80,number:1},
    				{name:"vue.js权威指南",price:60,number:3},
    				{name:"vue.js2.0渐进式前端解决方案",price:50,number:2}
    			]
    		},
    		methods:{
    			minus :function(index){
    				this.goods[index].number--;
    			},
    			add:function(index){
    				this.goods[index].number++;
    			}
    		},
    		computed:{
    			total:function(){
    				var arr = this.goods;
    				var total = 0;
    				for(var i = 0;i<arr.length;i++){
    					total += arr[i].price*arr[i].number;
    				}
    				return total;
    			}
    		}
    	});
    </script>
    </body>
    </html>
    

      效果如下图:

  • 相关阅读:
    request相关
    C#请求接口
    qml_base
    web
    entry
    listbox
    Canvas
    pickle
    c#枚举
    数据结构——树
  • 原文地址:https://www.cnblogs.com/baby-lijun/p/11003640.html
Copyright © 2011-2022 走看看