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

vue.js實現(xiàn)簡單購物車功能

 更新時間:2021年06月28日 10:47:55   作者:_冰點  
這篇文章主要為大家詳細介紹了vue.js實現(xiàn)簡單購物車功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了vue.js實現(xiàn)簡單購物車的具體代碼,供大家參考,具體內(nèi)容如下

這次我將給大家?guī)硪粋€vue.js實現(xiàn)購物車的小項目,如有不足請嚴厲指出。

購物車功能有:全選和選擇部分商品,選中商品總價計算,商品移除,以及調(diào)整購買數(shù)量等功能。

js主要有以下方法

加函數(shù),減函數(shù),手動修改數(shù)量判斷庫存函數(shù),總價格計算函數(shù),單選事件,全選事件,一共分為6個事件

具體效果如下圖

代碼在這里

main.js

'use strict'
 
var app = new Vue({
 el: '#app',
 data: {
 list: [
  {
  id: 1,
  name: 'iPhone 7',
  price: 6188,
  count: 1,
  check: true,
  },
  {
  id: 2,
  name: 'iPad Pro',
  price: 5888,
  count: 1,
  check: false,
  },
  {
  id: 3,
  name: 'MacBook Pro',
  price: 21488,
  count: 1,
  check: true,
  },
 ]
 },
 methods: {
 remove: function (index) { //移除商品
  this.list.splice(index, 1);
 },
 reduce: function (index) { //減少商品
  this.list[index].count --;
 },
 add: function (index) { //增加商品
  this.list[index].count ++;
 },
 selAll: function () { //商品全選
  let isAll = document.querySelector('#all');
 
  if (isAll.checked == true) {
  this.list.forEach(function(item, index) {
   item.check = true;
  }) 
  } else {
  this.list.forEach(function(item, index) {
   item.check = false;
  }) 
  }
 }
 },
 computed: {
 totalPrices: function () { //計算總價
  let totalPrices = 0;
 
  this.list.forEach(function (val, index) {
  if (val.check == true)
   totalPrices += parseFloat(val.price * val.count);
  })
 
  return totalPrices.toString().replace(/\B(?=(\d{3})+$)/g, ','); //每三位數(shù)中間加一個‘,'
 }
 }
})

index.html

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>Document</title>
 <link rel="stylesheet" href="main.css" >
</head>
<body>
<div id="app" v-cloak>
 <template v-if="list.length">
 <table>
  <thead>
  <tr>
   <th>全選<input id="all" @click="selAll" type="checkbox" checked></th>
   <th>商品名稱</th>
   <th>商品單價</th>
   <th>購買數(shù)量</th>
   <th>操作</th>
  </tr>
  </thead>
  <tbody>
  <template v-for="(item, index) in list">
   <tr>
   <td>
    <input type="checkbox" :checked="item.check" @click="item.check = !item.check">
   </td>
   <td>
    {{ item.name }}
   </td>
   <td>
    {{ item.price }}
   </td>
   <td>
    <button @click="reduce(index)" :disabled="item.count == 1">-</button>
    {{ item.count }}
    <button @click="add(index)">+</button>    
   </td>
   <td>
    <button @click="remove(index)">移除</button>
   </td>
   </tr>
  </template>
  </tbody>
 </table>
 <div>總價: ¥ {{ totalPrices }}</div>
 </template>
 <template v-else>
 購物車沒有商品
 </template>
</div>
 
<script src="vue.js"></script>
<script src="main.js"></script>
</body>
</html>

main.css

[v-cloak] {
 display: none; 
}
 
#app {
 width: 500px;
 margin: 0 auto;
}
 
table {
 width: 100%;
 border: 1px solid #444;
 border-collapse: collapse;
}
 
th, td {
 padding: 8px 16px;
 border: 1px solid #444;
 text-align: left;
}
 
th {
 background: #89abd3;
 color: rgb(214, 224, 235);
 font-weight: 600;
 white-space: nowrap;
}

更多文章可以點擊《Vue.js前端組件學(xué)習(xí)教程》學(xué)習(xí)閱讀。

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

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

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

相關(guān)文章

  • Vue3與pywebview實現(xiàn)獲取本地文件夾的絕對路徑

    Vue3與pywebview實現(xiàn)獲取本地文件夾的絕對路徑

    這篇文章主要為大家詳細介紹了Vue3如何結(jié)合pywebview實現(xiàn)獲取本地文件夾的絕對路徑,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下
    2024-11-11
  • Vue中CSS?scoped的原理詳細講解

    Vue中CSS?scoped的原理詳細講解

    在組件中增加的css加了scoped屬性之后,就在會在當前這個組件的節(jié)點上增加一個data-v-xxx屬性,下面這篇文章主要給大家介紹了關(guān)于Vue中CSS?scoped原理的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • Electron+vue3項目使用SQLite3數(shù)據(jù)庫詳細步驟(超詳細)

    Electron+vue3項目使用SQLite3數(shù)據(jù)庫詳細步驟(超詳細)

    Electron是一個基于vue.js的新框架,它可以構(gòu)建桌面應(yīng)用,這篇文章主要給大家介紹了關(guān)于Electron+vue3項目使用SQLite3數(shù)據(jù)庫的詳細步驟,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-01-01
  • vue計算屬性computed、事件、監(jiān)聽器watch的使用講解

    vue計算屬性computed、事件、監(jiān)聽器watch的使用講解

    今天小編就為大家分享一篇關(guān)于vue計算屬性computed、事件、監(jiān)聽器watch的使用講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • vue如何在自定義組件中使用v-model

    vue如何在自定義組件中使用v-model

    本篇文章主要介紹了vue如何在自定義組件中使用v-model,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • vue利用openlayers加載天地圖和高德地圖

    vue利用openlayers加載天地圖和高德地圖

    這篇文章主要介紹了?vue利用openlayers加載天地圖和高德地圖,下文章主要由兩部分完成openlayers加載天地圖和加載高德地圖,下面來看看詳細內(nèi)容吧,需要的朋友可以參考一下,希望對大家有所幫助
    2021-11-11
  • Vue在css中圖片路徑問題解決的配置方法

    Vue在css中圖片路徑問題解決的配置方法

    這篇文章主要為大家介紹了Vue在css中圖片路徑問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • Vue技巧Element Table二次封裝實戰(zhàn)示例

    Vue技巧Element Table二次封裝實戰(zhàn)示例

    這篇文章主要為大家介紹了Vue技巧Element Table二次封裝實戰(zhàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • vue動態(tài)繪制四分之三圓環(huán)圖效果

    vue動態(tài)繪制四分之三圓環(huán)圖效果

    這篇文章主要介紹了vue動態(tài)繪制四分之三圓環(huán)圖效果,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • Vue3使用dataV報錯問題的解決方法

    Vue3使用dataV報錯問題的解決方法

    這篇文章主要為大家詳細介紹了Vue3中使用dataV報錯問題的解決方法,文中的示例代碼講解詳細,具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11

最新評論

奇台县| 宁武县| 霍林郭勒市| 临武县| 和平县| 三门县| 禹城市| 南川市| 金秀| 察雅县| 峡江县| 方城县| 灌云县| 沙湾县| 绥德县| 教育| 盐边县| 广德县| 烟台市| 南召县| 阿克| 教育| 鹿泉市| 格尔木市| 萨嘎县| 南江县| 岳普湖县| 砀山县| 黔西| 冕宁县| 江北区| 青川县| 七台河市| 资中县| 长岛县| 西吉县| 墨玉县| 东安县| 洪洞县| 龙州县| 樟树市|