一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - vue.js - Vue實現簡易購物車頁面

Vue實現簡易購物車頁面

2021-12-22 16:06小王同學Max vue.js

這篇文章主要為大家詳細介紹了Vue實現簡易購物車頁面,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

VUE實現簡易購物車效果,供大家參考,具體內容如下

簡易的購物車小demo

引用了一下bootstrap3,的表格

Vue實現簡易購物車頁面

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<section id="gouwuche">
 
 <table class="table table-hover">
 <thead>
  <tr>
  <th>
  <input type="checkbox" @change="handlechange" v-model="isAllChange" @click='inshow()'/>
  全選
  </th>
  <th>商品信息</th>
  <th>單價</th>
  <th>數量</th>
  <th>金額</th>
  <th>操作</th>
  </tr>
 </thead>
 <tbody>
  <tr style="height:50px;"></tr>
  <tr v-for="(date,index) in arr" :class="{bgcolor:isActive}">
  <td>
  <input type="checkbox" v-model="checkgroup" :value="date" @change="handleLiChange" />
  <img :src="date.imges"/>
  {{date.name}}
  </td>
  <td>
  <p>{{date.networkType}}</p>
  <p>{{date.colorClass}}</p>
  <p>{{date.packageType}}</p>
  <p>{{date.rom}}</p>
  <p>{{date.purchaseMethod}}</p>
  <br>
  </td>
  <td>
  <p><b class="danjia">{{date.price}}</b></p>
  </td>
  <td>
  <button @click="handleDelclike(date)" >-</button>
  <input type="text" :value="date.numbers"/>
  <button @click="date.numbers++">+</button>
  </td>
  <td>
  <p><b class="jiner">{{getSumje(date)}}.00</b></p>
  </td>
  <td>
  <p>移入收藏夾</p>
  <a href="#" @click="rmove(index)">刪除</a>
  </td>
  </tr>
 </tbody>
 </table>
 
 <div class="box">
 <div class="boxa">
  <input type="checkbox" @change="handlechange" v-model="isAllChange" @click='inshow()'/>
  <a href="#" >全選</a>
  <a href="#" >刪除</a>
 </div>
 <div class="boxc">
  <p>已選商品:<b class="jiner">{{checkgroup.length}}</b></p>
  <p>合計(不含運費):<b class="jiner">{{getSum()}}<b></p>
 </div>
 <div class="boxb" >
  結算
 </div>
 </div>
</section>

CSS:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#gouwuche {
 width: 1200px;
 height: ;
 margin: 0 auto;
}
 
.box {
 width: 1200px;
 height: 50px;
 margin: 30px auto;
 display: flex;
 justify-content: space-between;
 align-items: center;
 background-color: #C4E3F3;
}
 
.boxa {
 width: 780px;
 height: 50px;
}
 
.boxa a {
 margin-right: 50px;
}
 
.boxb {
 width: 120px;
 height: 50px;
 background-color: #C0C0C0;
 display: flex;
 align-items: center;
 justify-content: center;
 color: white;
 font-size: 18px;
}
 
.boxc {
 width: 300px;
 height: 50px;
 display: flex;
 align-items: center;
 justify-content: space-between;
}
 
input {
 width: 50px;
 text-align: center;
}
 
img {
 width: 60px;
 height: 60px;
}
 
a {
 text-decoration: none;
 color: #000;
}
 
* {
 font-size: 12px;
}
 
p {
 margin: 0;
 padding: 0;
 line-height: 1.9;
}
 
.danjia {
 font-size: 16px;
}
 
.jiner {
 font-size: 18px;
 color: #FF8C00;
}
.bgcolor{
 background-color: rgba(205,205,205,0.2);
 
}

js:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
var gouwuche = new Vue({
 el:"#gouwuche",
 data:{
 checkgroup:[],
 isAllChage:false,
 isActive:false,
 arr:[
 {
  //商品名
  name:"小米 note8 Pro",
  //圖片地址
  imges:"img/t1.jpg",
  //顏色分類
  colorClass:"機身顏色:冰翡翠",
  //網絡類型
  networkType:"網絡類型:4G+全網通",
  //套餐類型
  packageType:"套餐類型:官方標配",
  //存儲容量
  rom:"存儲容量:6+128GB",
  //購買方式
  purchaseMethod:"官方旗艦店",
  //單價
  price:1299.00,
  //數量
  numbers:1,
  //金額
  money:1299.00,
  //索引
  id:"1",
 },
 {
  //商品名
  name:"紅米 k30 5G",
  //圖片地址
  imges:"img/t3.jpg",
  //顏色分類
  colorClass:"機身顏色:紫玉幻境",
  //網絡類型
  networkType:"網絡類型:5G+全網通",
  //套餐類型
  packageType:"套餐類型:官方標配",
  //存儲容量
  rom:"存儲容量:8+128GB",
  //購買方式
  purchaseMethod:"官方旗艦店",
  //單價
  price:1499.00,
  //數量
  numbers:1,
  //金額
  money:1499.00,
  //索引
  id:"2",
 },
 {
  //商品名
  name:"紅米 k30 Pro",
  //圖片地址
  imges:"img/t4.jpg",
  //顏色分類
  colorClass:"機身顏色:象牙白",
  //網絡類型
  networkType:"網絡類型:5G+全網通",
  //套餐類型
  packageType:"套餐類型:官方標配",
  //存儲容量
  rom:"存儲容量:8+256GB",
  //購買方式
  purchaseMethod:"官方旗艦店",
  //單價
  price:3999.00,
  //數量
  numbers:1,
  //金額
  money:3999.00,
  //索引
  id:"3",
 },
 {
  //商品名
  name:"紅米 k20 Pro",
  //圖片地址
  imges:"img/t4.jpg",
  //顏色分類
  colorClass:"機身顏色:象牙白",
  //網絡類型
  networkType:"網絡類型:5G+全網通",
  //套餐類型
  packageType:"套餐類型:官方標配",
  //存儲容量
  rom:"存儲容量:8+256GB",
  //購買方式
  purchaseMethod:"官方旗艦店",
  //單價
  price:3999.00,
  //數量
  numbers:1,
  //金額
  money:3999.00,
  //索引
  id:"3",
 }
 ],
 },
 
 methods:{
 
 inshow:function(){
  this.isActive = !this.isActive;
 },
 
    //總額
 getSum:function(){
  var sum = 0;
  for(var i in this.checkgroup){
  sum += this.checkgroup[i].numbers * this.checkgroup[i].price;
  }
  return sum;
 },
 
    //單品總額
 getSumje:function(date){
  var sum = date.price;
  sum *= date.numbers;
  return sum;
 },
 
    //判斷全選框
 handlechange:function(){
  if(this.isAllChange){
  this.checkgroup = this.arr;
  }else{
  this.checkgroup = [];
  }
 },
 
    //判斷全選框
 handleLiChange:function(){
  if(this.checkgroup.length !== this.arr.length){
  this.isAllChange = false;
  }else{
  this.isAllChange = true;
  }
 },
 
    //數量減1
 handleDelclike:function(date){
  var numbers = date.numbers--;
  if(numbers === 1){
  date.numbers = 1;
  }
 },
 
    //刪除
 rmove:function(index){
  var that = this;
  that.arr.splice(index,1);
  that.checkgroup.splice(index,1);
  
 
 }
 
 }
 
})

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/m0_51408910/article/details/111822915

延伸 · 閱讀

精彩推薦
  • vue.js用vite搭建vue3應用的實現方法

    用vite搭建vue3應用的實現方法

    這篇文章主要介紹了用vite搭建vue3應用的實現方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下...

    Asiter7912022-01-22
  • vue.jsVue2.x 項目性能優化之代碼優化的實現

    Vue2.x 項目性能優化之代碼優化的實現

    這篇文章主要介紹了Vue2.x 項目性能優化之代碼優化的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋...

    優小U9632022-02-21
  • vue.jsVue多選列表組件深入詳解

    Vue多選列表組件深入詳解

    這篇文章主要介紹了Vue多選列表組件深入詳解,這個是vue的基本組件,有需要的同學可以研究下...

    yukiwu6752022-01-25
  • vue.js梳理一下vue中的生命周期

    梳理一下vue中的生命周期

    看過很多人講vue的生命周期,但總是被繞的云里霧里,尤其是自學的同學,可能js的基礎也不是太牢固,聽起來更是吃力,那我就已個人之淺見,以大白話...

    CRMEB技術團隊7992021-12-22
  • vue.js詳解vue 表單綁定與組件

    詳解vue 表單綁定與組件

    這篇文章主要介紹了vue 表單綁定與組件的相關資料,幫助大家更好的理解和學習使用vue框架,感興趣的朋友可以了解下...

    Latteitcjz6432022-02-12
  • vue.jsVue2.x-使用防抖以及節流的示例

    Vue2.x-使用防抖以及節流的示例

    這篇文章主要介紹了Vue2.x-使用防抖以及節流的示例,幫助大家更好的理解和學習使用vue框架,感興趣的朋友可以了解下...

    Kyara6372022-01-25
  • vue.jsVue項目中實現帶參跳轉功能

    Vue項目中實現帶參跳轉功能

    最近做了一個手機端系統,其中遇到了父頁面需要攜帶參數跳轉至子頁面的問題,現已解決,下面分享一下實現過程,感興趣的朋友一起看看吧...

    YiluRen丶4302022-03-03
  • vue.jsVue中引入svg圖標的兩種方式

    Vue中引入svg圖標的兩種方式

    這篇文章主要給大家介紹了關于Vue中引入svg圖標的兩種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的...

    十里不故夢10222021-12-31
主站蜘蛛池模板: 91精品国产高清久久久久久91 | xxx95日本老师xxx学生 | 污污动图| 视频一区久久 | 毛片在线看网站 | 欧美成人中文字幕在线看 | 四虎在线免费 | v视界影院.vsjla | 欧美久久天天综合香蕉伊 | 国产1区2区在线观看 | 欧洲第一区第二区第三区 | 亚洲美女人黄网成人女 | 亚洲精品视频网 | 欧美日韩国产精品综合 | 女娃开嫩苞经历小说 | 70岁多老妇人特黄a级毛片 | 男人插曲女人下面 | 精品成人一区二区 | 免费一级欧美片片线观看 | 国产成人精品在线 | 精品日韩二区三区精品视频 | 日本片免费观看一区二区 | 日本h片在线 | 99久久国产综合精麻豆 | 久久精品黄AA片一区二区三区 | 欧美一区二区三区在线观看不卡 | 无人知晓小说姜璟免费阅读 | 精品综合久久久久久8888 | 欧美日韩一区二区三区在线观看 | 日本加勒比在线播放 | 亲爱的客栈第二季免费观看完整版 | 春意午夜影院 | 福利社在线免费观看 | kuaibo成人播放器 | 范冰冰特黄xx大片 | 99视频在线看观免费 | 日韩高清一区二区 | 精品无码人妻一区二区免费AV | 牛人国产偷窥女洗浴在线观看 | 肉文np高h | 欧美在线观看一区二区三 |