最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue實(shí)現(xiàn)購(gòu)物車(chē)基本功能

 更新時(shí)間:2020年11月08日 10:16:19   作者:花落(→)凋謝  
這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)購(gòu)物車(chē)的基本功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

Vue實(shí)現(xiàn)購(gòu)物車(chē)商品 加、減、單選、全選、刪除、價(jià)格更新等功能

Dome和Vue代碼

<!DOCTYPE html>
<html>

 <head>
 <meta charset="utf-8">
 <title>商城</title>
 <link rel="stylesheet" href="./css/common.css" >
 <link rel="stylesheet" href="./css/cart.css" >
 </head>
 <body>
 <div id="main">
 <div class="container">
 <div id="cart">
 <h1>購(gòu)物車(chē)</h1>
 <form action="#" method="post">
 <table class="form">
 <thead>
 <tr>
 <th width="8%">選擇</th>
 <th width="50%">商品</th>
 <th width="13%">單價(jià)(元)</th>
 <th width="15%">數(shù)量</th>
 <th width="14%">金額(元)</th>
 </tr>
 </thead>
 <tbody id="cart-goods-list">
 <tr v-for="cart in productList">
 <td>
 <input type="checkbox" name="good-id" :value="1" v-model="cart.select">
 </td>
 <td class="goods">
 <div class="goods-image">
 <img v-bind:src="cart.pro_img">
 </div>
 <div class="goods-information">
 <h3>{{cart.pro_name}}</h3>
 <ul>
 <li>{{cart.pro_purity}}</li>
 <li>{{cart.pro_service}}</li>
 </ul>
 </div>
 </td>
 <td>
 <span class="price">¥<em class="price-em">{{cart.pro_price.toFixed(2)}}</em></span>
 </td>
 <td>
 <div class="combo">
 <input type="button" name="minus" value="-" class="combo-minus" @click="cart.pro_num<2?cart.pro_num=1:cart.pro_num--">
 <input type="text" name="count" v-model.number="cart.pro_num" class="combo-value">
 <input type="button" name="plus" value="+" class="combo-plus" v-on:click="cart.pro_num++">
 </div>
 </td>
 <td>
 <strong class="amount">¥<em class="amount-em">{{(cart.pro_price*cart.pro_num).toFixed(2)}}</em></strong>
 </td>
 </tr>
 </tbody>
 <tfoot v-show="productList.length!=0">
 <tr>
 <td colspan="2">
 <label>
   <input type="checkbox" name="all" v-model="isSelectAll">
   <span @click="">全選</span>
   </label>
 <a href="#" rel="external nofollow" id="cart-delete" @click="del()">刪除</a>
 </td>
 <td colspan="3">
 <span>合計(jì):</span>
 <strong id="total-amount">¥<em id="total-amount-em">{{getTotal}}</em></strong>
 <input type="submit" value="立即結(jié)算" id="settlement">
 </td>
 </tr>
 </tfoot>

 </table>
 </form>
 <div v-show="productList.length===0">
 購(gòu)物車(chē)還是空的哦~快來(lái)購(gòu)物吧~
 </div>
 </div>
 </div>
 </div>
 </body>
 <script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
 <script type="text/javascript">
 new Vue({
 el:"#cart",
 data:{
 productList:[
 {
 'pro_name': 'Dior 迪奧 花漾甜心小姐 女士淡香水',//產(chǎn)品名稱(chēng)
 'pro_purity': '50ml',//規(guī)格
 'pro_service': "不支持7天無(wú)理由退貨",//售后
 'pro_num': 1,//數(shù)量
 'pro_img': 'img/1.jpg',//圖片鏈接
 'pro_price': 498,//單價(jià),
 'select': true ,//選中狀態(tài)
 },
 {
 'pro_name': '迪奧(dior)口紅CD烈艷藍(lán)金唇膏',//產(chǎn)品名稱(chēng)
 'pro_purity': '350g',//規(guī)格
 'pro_service': "不支持7天無(wú)理由退貨",//售后
 'pro_num': 1,//數(shù)量
 'pro_img': 'img/2.jpg',//圖片鏈接
 'pro_price': 268,//單價(jià)
 'select': true //選中狀態(tài)
 },
 {
 'pro_name': 'LANCÔME 蘭蔻 嫩肌活膚精華肌底液',//產(chǎn)品名稱(chēng)
 'pro_purity': '50ml',//規(guī)格
 'pro_service': "不支持7天無(wú)理由退貨",//售后
 'pro_num': 1,//數(shù)量
 'pro_img': 'img/3.jpg',//圖片鏈接
 'pro_price': 598,//單價(jià)
 'select': true //選中狀態(tài)
 }
 ]
 },
 computed:{
 getTotal:function(){
 var newArr=this.productList.filter(function(val){
 return val.select===true;
 })
 var price=0;
 for(var i=0;i<newArr.length;i++){
 price+=newArr[i].pro_num*newArr[i].pro_price
 }
 return price.toFixed(2)
 },
 isSelectAll:{
 get:function(){
 return this.productList.every(function(val){
 return val.select===true;
 })
 },
 set:function(newValue){
 for(var i=0;i<this.productList.length;i++){
 this.productList[i].select=newValue;
 }
 }
 }
 },
 methods:{
 del:function(){
 if(confirm("確定要?jiǎng)h除嗎")){
 var newArr=[];
 for(var i=0;i<this.productList.length;i++){
 if(this.productList[i].select===false){
 newArr.push(this.productList[i])
 }
 }
 this.productList=newArr;
 }
 }
 }
 
 })
 </script>
</html>

購(gòu)物車(chē)部分CSS代碼

@charset "utf-8";

#main{
 padding: 30px 0px;
}

#cart{
 background: #FFFFFF;
 padding: 40px;
}

#cart h1{
 line-height: 40px;
 padding: 0px 0px 10px 0px;
}

table.form{
 border-collapse: collapse;
 empty-cells: show;
 margin: 20px 0px;
 padding: 0px;
 table-layout: fixed;
 width: 100%;
}

table.form th,
table.form td{
 border-bottom: 1px solid #DDDDDD;
 padding: 15px 10px;
 text-align: left;
}

table.form{
 border-top: 3px solid #DDDDDD;
}

.goods .goods-image img{
 border: 1px solid #DDDDDD;
 float: left;
 height: 100px;
 margin: 0px 20px 0px 0px;
}

.goods .goods-information{
 float: left;
}

.goods .goods-information ul{
 color: #666666;
 font-size: 12px;
 line-height: 20px;
 margin:10px 0px 0px 0px;
}

.price,
.amount,
#total-amount{
 color: #E00000;
}

#total-amount{
 font-size: 22px;
}

.price em,
.amount em,
#total-amount em{
 font-style: normal;
}

.combo .combo-minus,
.combo .combo-value,
.combo .combo-plus{
 background: #FFFFFF;
 border: 1px solid #DDDDDD;
 color: #333333;
 float: left;
 font-weight: bold;
 margin: 0px;
 outline: none;
 text-align: center;
}

.combo .combo-minus,
.combo .combo-plus{
 font-size: 16px;
 height: 26px;
 line-height: 26px;
 padding: 0px;
 width: 24px;
}

.combo .combo-value{
 border-left: none;
 border-right: none;
 height: 20px;
 line-height: 20px;
 padding: 2px;
 width: 40px;
}

#cart-delete{
 margin-left: 20px;
}

#settlement{
 background: #E00000;
 border: none;
 color: #FFFFFF;
 float: right;
 font-size: 16px;
 height: 40px;
 line-height: 40px;
 margin: 0px;
 outline: none;
 padding: 0px;
 width: 160px;
}

注:CSS樣式代碼由于太多上面沒(méi)有給全,只給了主要代碼。小伙伴們可以根據(jù)實(shí)際情況修改樣式

關(guān)于vue.js組件的教程,請(qǐng)大家點(diǎn)擊專(zhuān)題vue.js組件學(xué)習(xí)教程進(jìn)行學(xué)習(xí)。

更多vue學(xué)習(xí)教程請(qǐng)閱讀專(zhuān)題《vue實(shí)戰(zhàn)教程》

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue項(xiàng)目中用cdn優(yōu)化的方法

    vue項(xiàng)目中用cdn優(yōu)化的方法

    本篇文章主要介紹了vue項(xiàng)目中用cdn優(yōu)化的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • 在Vue項(xiàng)目中使用自定義字體的操作步驟

    在Vue項(xiàng)目中使用自定義字體的操作步驟

    在項(xiàng)目中使用自定義字體可以提升頁(yè)面的視覺(jué)效果,并確保在不同設(shè)備上的一致性,文中通過(guò)代碼示例給出了具體的操作步驟,對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-06-06
  • 使用vue2實(shí)現(xiàn)購(gòu)物車(chē)和地址選配功能

    使用vue2實(shí)現(xiàn)購(gòu)物車(chē)和地址選配功能

    這篇文章主要介紹了使用vue2實(shí)現(xiàn)購(gòu)物車(chē)和地址選配功能,本文通過(guò)實(shí)例代碼相結(jié)合的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2018-03-03
  • vue3觸發(fā)父組件兩種寫(xiě)法

    vue3觸發(fā)父組件兩種寫(xiě)法

    這篇文章主要介紹了vue3觸發(fā)父組件兩種寫(xiě)法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • Vue之組件詳解

    Vue之組件詳解

    這篇文章主要為大家介紹了Vue之組件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-11-11
  • element-plus日歷(Calendar)動(dòng)態(tài)渲染以及避坑指南

    element-plus日歷(Calendar)動(dòng)態(tài)渲染以及避坑指南

    這篇文章主要給大家介紹了關(guān)于element-plus日歷(Calendar)動(dòng)態(tài)渲染以及避坑指南的相關(guān)資料,這是最近幫一個(gè)后端朋友處理一個(gè)前端問(wèn)題,elementUI中calendar日歷組件內(nèi)容進(jìn)行自定義顯示,實(shí)現(xiàn)類(lèi)似通知事項(xiàng)的日歷效果,需要的朋友可以參考下
    2023-08-08
  • vue 踩不完的異步之坑及解決

    vue 踩不完的異步之坑及解決

    這篇文章主要介紹了vue 踩不完的異步之坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • vue el-table 動(dòng)態(tài)添加行與刪除行的實(shí)現(xiàn)

    vue el-table 動(dòng)態(tài)添加行與刪除行的實(shí)現(xiàn)

    這篇文章主要介紹了vue el-table 動(dòng)態(tài)添加行與刪除行的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 詳解Vue如何實(shí)現(xiàn)字母驗(yàn)證碼

    詳解Vue如何實(shí)現(xiàn)字母驗(yàn)證碼

    這篇文章主要為大家介紹了Vue如何實(shí)現(xiàn)字母驗(yàn)證碼詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • el-select如何獲取下拉框選中l(wèi)abel和value的值

    el-select如何獲取下拉框選中l(wèi)abel和value的值

    在開(kāi)發(fā)業(yè)務(wù)場(chǎng)景中我們通常遇到一些奇怪的需求,例如el-select業(yè)務(wù)場(chǎng)景需要同時(shí)獲取我們選中的label跟 value,下面這篇文章主要給大家介紹了關(guān)于el-select如何獲取下拉框選中l(wèi)abel和value的值,需要的朋友可以參考下
    2022-10-10

最新評(píng)論

鸡西市| 兴隆县| 五台县| 东源县| 额尔古纳市| 长沙县| 黑山县| 绥滨县| 建平县| 邢台县| 黎川县| 吉水县| 清远市| 阿坝县| 开江县| 吴川市| 霞浦县| 长治县| 禄丰县| 乐陵市| 吉木萨尔县| 聂拉木县| 洪泽县| 芷江| 阳春市| 东乌珠穆沁旗| 建宁县| 满洲里市| 衡南县| 台湾省| 双桥区| 三原县| 监利县| 容城县| 云林县| 衡阳市| 桓台县| 兴义市| 德江县| 景泰县| 卓资县|