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

vue實(shí)現(xiàn)購(gòu)物車加減

 更新時(shí)間:2020年05月30日 16:30:15   作者:GaHoOo  
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)購(gòu)物車加減,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了vue實(shí)現(xiàn)購(gòu)物車加減的具體代碼,供大家參考,具體內(nèi)容如下

通常我們會(huì)在模板中綁定表達(dá)式,模板是用來描述視圖結(jié)構(gòu)的。如果模板中的表達(dá)式存在過多的邏輯,模板會(huì)變得臃腫不堪,維護(hù)變得非常困難。因此,為了簡(jiǎn)化邏輯,當(dāng)某個(gè)屬性的值依賴于其他屬性的值時(shí),我們可以使用計(jì)算屬性。

那么什么是計(jì)算屬性呢?

計(jì)算屬性就是當(dāng)其依賴屬性的值發(fā)生變化是,這個(gè)屬性的值會(huì)自動(dòng)更新,與之相關(guān)的DOM部份也會(huì)同步自動(dòng)更新。
實(shí)現(xiàn)的效果圖如下:

我是使用了bootstrap跟Vue去完成這個(gè)效果的。

首先導(dǎo)入包:

<link rel="stylesheet" href="css/bootstrap.css" />
<script type="text/javascript" src="js/vue.js" ></script>

接著是布局樣式:

<div id="app">
 <div class="container">
 <table class="table table-bordered table-hover"> 
 <tr>
 <td>
  <input type="checkbox" v-model="checkAll" @click="selectAll" />
 </td>
 <td>
 商品名稱
 </td>
 <td>
 商品價(jià)格
 </td>
 <td>
 商品數(shù)量
 </td>
 <td>
 商品總額
 </td>
 <td>
 操作
 </td>
 </tr>
  <tr v-for="(item,index) in listInfo">
  <td>
  <input type="checkbox" :value="item.id" v-model="checkItem" @change="selectOne" />
  </td>
 <td>{{item.shopName}}</td>
 <td>{{item.shopPrice}}</td>
 <td>
 <button class="btn btn-default" @click="reduce(index)">-</button>
 <input type="text" v-model="item.shopCount" />
 <button class="btn btn-default" @click="add(index)">+</button>
 </td>
 <td>
 {{item.shopPrice*item.shopCount}}
 </td>
 <td>
 <button class="btn btn-warning" @click="del(index)">刪除</button>
 </td>
 </tr> 
 </table>
 <p class="text-right">
 金額總計(jì):{{sum}}
 </p>
 <p class="text-right">
 商品數(shù)量:{{count}}
 </p>
 <hr />
 <form>
 <div class="form-group">
 <input class="form-control" placeholder="商品名稱" v-model="shopName" />
 </div>
 <div class="form-group">
 <input class="form-control" placeholder="商品價(jià)格" v-model = "shopPrice"/>
 </div>
 <div class="form-group">
 <button class="btn btn-primary" type="button" @click="addInfo">增加</button>
 </div>
 </form>
 </div>
</div>

最后是方法:

<script>
 new Vue({
 el:"#app",
 data:{
 listInfo:[
 {id:1,shopName:"男裝1",shopPrice:1000,shopCount:0},
 {id:2,shopName:"男裝2",shopPrice:2000,shopCount:0},
 {id:3,shopName:"男裝3",shopPrice:3000,shopCount:0},
 {id:4,shopName:"男裝4",shopPrice:4000,shopCount:0},
 {id:5,shopName:"男裝5",shopPrice:5000,shopCount:0},
 ],
 shopName:"",
 shopPrice:"",
 checkItem:[],
 checkAll:false
 },
 methods:{
 add:function(index){
 this.listInfo[index].shopCount++
 
 },
 reduce:function(index){
 if(this.listInfo[index].shopCount<=0){
 this.listInfo[index].shopCount = 0
 }else {
 this.listInfo[index].shopCount--
 }
 
 },
 del:function(index){
  this.listInfo.splice(index,1)
 },
 addInfo:function(){
// alert(1)
 
 var obj = {
 id:this.listInfo.length+1,
 shopName:this.shopName,
 shopPrice:this.shopPrice,
 shopCount:0
 }
 console.log(obj)
 this.listInfo.push(obj) 
 },
 
 selectAll:function(){
 this.checkItem = []
 if(!this.checkAll){
 for (var i=0;i<this.listInfo.length;i++) {
 this.checkItem.push(this.listInfo[i].id)
 }
 }else {
 this.checkItem = []
 this.checkAll = false
 }
 },
 selectOne(){
 console.log(this.checkItem)
 if(this.checkItem.length == this.listInfo.length){
 this.checkAll = true
 }else {
 this.checkAll = false
 }
 }
 },
 computed:{
 sum(){
 var total = 0
 for (var i=0;i<this.listInfo.length;i++) {
 total+=parseFloat(this.listInfo[i].shopPrice)*parseFloat(this.listInfo[i].shopCount)
 }
 return total 
 },
 count:function(){
 var total = 0
 for (var i=0;i<this.listInfo.length;i++) {
 total+=parseInt(this.listInfo[i].shopCount)
 }
 return total
 }
 }
 })
</script>

通過以上的代碼即可實(shí)現(xiàn)簡(jiǎn)單的購(gòu)物車加減與增加刪除!

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

相關(guān)文章

  • 示例解析Ant?Design?Vue組件slots作用

    示例解析Ant?Design?Vue組件slots作用

    這篇文章主要為大家通過示例解析Ant?Design?Vue組件slots作用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • vue3中$attrs的變化與inheritAttrs的使用詳解

    vue3中$attrs的變化與inheritAttrs的使用詳解

    $attrs現(xiàn)在包括class和style屬性。?也就是說在vue3中$listeners不存在了,vue2中$listeners是單獨(dú)存在的,在vue3?$attrs包括class和style屬性,?vue2中?$attrs?不包含class和style屬性,這篇文章主要介紹了vue3中$attrs的變化與inheritAttrs的使用?,需要的朋友可以參考下
    2022-10-10
  • vue獲取時(shí)間戳轉(zhuǎn)換為日期格式代碼實(shí)例

    vue獲取時(shí)間戳轉(zhuǎn)換為日期格式代碼實(shí)例

    這篇文章主要介紹了vue獲取時(shí)間戳轉(zhuǎn)換為日期格式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Vue3 去除 vue warn 及生產(chǎn)環(huán)境去除console.log的方法

    Vue3 去除 vue warn 及生產(chǎn)環(huán)境去除console.log的方法

    這篇文章主要介紹了Vue3 去除 vue warn 及生產(chǎn)環(huán)境去除console.log的方法,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • vue的toast彈窗組件實(shí)例詳解

    vue的toast彈窗組件實(shí)例詳解

    本文通過實(shí)例給大家講解了vue的toast彈窗組件功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-05-05
  • 使用 Element UI Table 的 slot-scope方法

    使用 Element UI Table 的 slot-scope方法

    這篇文章主要介紹了使用 Element UI Table 的 slot-scope方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Vue路由傳參頁面刷新后參數(shù)丟失原因和解決辦法

    Vue路由傳參頁面刷新后參數(shù)丟失原因和解決辦法

    這幾天在開發(fā)中遇見的一個(gè)關(guān)于路由傳參后,頁面刷新數(shù)據(jù)丟失的問題,下面這篇文章主要給大家介紹了關(guān)于Vue路由傳參頁面刷新后參數(shù)丟失原因和解決辦法,需要的朋友可以參考下
    2022-12-12
  • Vue精簡(jiǎn)版風(fēng)格概述

    Vue精簡(jiǎn)版風(fēng)格概述

    本篇文章給大家講解了一下Vue精簡(jiǎn)版風(fēng)格的相關(guān)知識(shí)點(diǎn)內(nèi)容以及分享了實(shí)例代碼,有興趣的朋友參考下。
    2018-01-01
  • vue移動(dòng)端彈起蒙層滑動(dòng)禁止底部滑動(dòng)操作

    vue移動(dòng)端彈起蒙層滑動(dòng)禁止底部滑動(dòng)操作

    這篇文章主要介紹了vue移動(dòng)端彈起蒙層滑動(dòng)禁止底部滑動(dòng)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • vuex 中輔助函數(shù)mapGetters的基本用法詳解

    vuex 中輔助函數(shù)mapGetters的基本用法詳解

    mapGetters輔助函數(shù)僅僅是將 store 中的 getter 映射到局部計(jì)算屬性,在組件或界面中不使用mapGetter調(diào)用映射vuex中的getter,在組件或界面中使用mapGetter調(diào)用映射vuex中的getter,具體內(nèi)容跟隨小編一起通過本文學(xué)習(xí)吧 
    2021-07-07

最新評(píng)論

达孜县| 于田县| 克拉玛依市| 石阡县| 繁峙县| 东港市| 新民市| 阿巴嘎旗| 保康县| 大冶市| 醴陵市| 内江市| 江门市| 闽侯县| 济源市| 招远市| 友谊县| 梨树县| 延边| 深水埗区| 庄浪县| 元阳县| 通江县| 长垣县| 额济纳旗| SHOW| 高州市| 正镶白旗| 吉木萨尔县| 宜君县| 时尚| 册亨县| 扬中市| 中阳县| 文化| 汤阴县| 科技| 凤冈县| 乌兰浩特市| 库尔勒市| 三台县|