使用 vue实现商品 列表的添加删除

 1 <div id="app">
 2 <div class="container"><form class="form-inline">
 3 <div class="form-group"><label for="exampleInputName2">ID:</label> <input id="exampleInputName2" class="form-control" type="text" /></div>
 4 <div class="form-group"><label for="exampleInputEmail2">Name:</label> <input class="form-control" type="text" /></div>
 5 <button class="btn btn-primary" type="button">提交</button></form>
 6 <table class="table table-hover table-striped">
 7 <tbody>
 8 <tr>
 9 <td>ID</td>
10 <td>品牌名称</td>
11 <td>添加时间</td>
12 <td>操作</td>
13 </tr>
14 <tr>
15 <td>{{item.id}}</td>
16 <td>{{item.pp_name}}</td>
17 <td>{{item.add_time | getTime()}}</td>
18 <td><a>删除</a></td>
19 </tr>
20 </tbody>
21 </table>
22 </div>
23 </div>
24 <script type="text/javascript">// <![CDATA[
25 var app = new Vue({
26 el: '#app',
27 data: {
28 id : '',
29 name : '',
30 list : [
31 {id : 1, pp_name : '安踏', add_time : new Date()},
32 {id : 2, pp_name : '李宁', add_time : new Date()},
33 {id : 3, pp_name : '捷豹', add_time : new Date()},
34 {id : 4, pp_name : '悍马', add_time : new Date()}
35 ]
36 },
37 methods: {
38 add : function(){
39 // 数据插入数组操作
40 this.list.push({id : this.id, pp_name : this.name, add_time : new Date()});
41 this.id = this.name = ''
42 },
43 
44 /* 
45 根据id删除数据
46 
47 分析: 先要找到这一项数据的id,然后根据id删除索引
48 找到索引之后直接调用数组的splice方法
49 */
50 del : function(id){
51 this.list.some((item,i) =>{
52 if(item.id === id){
53 this.list.splice(i,1);
54 
55 // 在数组some中 如果返回值为true,则会立即终止后续的循环
56 return true;
57 }
58 })
59 }
60 },
61 // 时间的过滤
62 filters:{
63 getTime:function(value){
64 let date = new Date(value),
65 Y = date.getFullYear(),
66 m = date.getMonth() + 1,
67 d = date.getDate(),
68 h = date.getHours(),
69 min = date.getMinutes(),
70 s = date.getSeconds();
71 if(m<10){m = '0' +m;}
72 if(d<10){d = '0' +d;}
73 if(h<10){h = '0' +h;}
74 if(min<10){min = '0' +min;}
75 if(s<10){s = '0' +s;}
76 
77 let t = Y + '-' + m + '-' + d + ' | ' + h + ':' + min + ':' + s;
78 return t;
79 }
80 }
81 
82 })
83 
84 // ]]></script>

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一个简单的Vue购物车示例代码。假设您已经有了商品列表和每个商品的价格,您需要实现以下功能: 1. 点击“加入购物车”按钮时,将商品添加到购物车。 2. 显示购物车商品数量和总价格。 3. 可以从购物车删除商品。 下面是一个简单的Vue购物车示例代码: ```html <!DOCTYPE html> <html> <head> <title>Shopping Cart</title> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <div id="app"> <h2>商品列表</h2> <ul> <li v-for="(item, index) in items" :key="index"> {{ item.name }} - {{ item.price }} <button @click="addToCart(index)">加入购物车</button> </li> </ul> <h2>购物车</h2> <p>数量:{{ cartItems.length }}</p> <p>总价:{{ getTotalPrice() }}</p> <ul> <li v-for="(item, index) in cartItems" :key="index"> {{ item.name }} - {{ item.price }} <button @click="removeFromCart(index)">删除</button> </li> </ul> </div> <script> var app = new Vue({ el: '#app', data: { items: [ {name: '商品1', price: 10}, {name: '商品2', price: 20}, {name: '商品3', price: 30}, {name: '商品4', price: 40}, {name: '商品5', price: 50}, ], cartItems: [], }, methods: { addToCart: function(index) { this.cartItems.push(this.items[index]); }, removeFromCart: function(index) { this.cartItems.splice(index, 1); }, getTotalPrice: function() { var totalPrice = 0; for (var i = 0; i < this.cartItems.length; i++) { totalPrice += this.cartItems[i].price; } return totalPrice; }, }, }); </script> </body> </html> ``` 在这个示例,我们首先声明了一个Vue实例,并定义了两个数据属性:`items`和`cartItems`。`items`是商品列表,包含每个商品的名称和价格。`cartItems`是购物车列表,包含当前加入购物车的商品。 在`addToCart`方法,我们将所选商品添加到购物车列表。在`removeFromCart`方法,我们可以从购物车删除某个商品。在`getTotalPrice`方法,我们计算购物车所有商品的总价格。 在HTML,我们使用Vue的指令`v-for`对商品列表和购物车列表进行循环,并使用`v-bind`将商品的名称和价格绑定到HTML元素上。我们还使用`v-on`指令将点击事件绑定到“加入购物车”按钮和“删除”按钮上,以便在单击按钮时触发相应的方法。最后,我们使用Vue的双向数据绑定将购物车商品数量和总价绑定到HTML元素上,以便实时更新。 这是一个非常基本的Vue购物车示例,您可以根据自己的需求进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值