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

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

 更新時(shí)間:2017年04月27日 11:09:43   作者:1178291141  
本篇文章主要分享了Vue實(shí)現(xiàn)購(gòu)物車(chē)功能的實(shí)例代碼。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧

效果圖:

代碼如下:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <link rel="stylesheet"  rel="external nofollow" />
</head>
<body>

  <div id="app" class="container">
    <table class="table">
      <thead>
        <tr>
          <th>產(chǎn)品編號(hào)</th>
          <th>產(chǎn)品名字</th>
          <th>購(gòu)買(mǎi)數(shù)量</th>
          <th>產(chǎn)品單價(jià)</th>
          <th>產(chǎn)品總價(jià)</th>
          <th>操作</th>
        </tr>
      </thead>
      <tbody>
        <tr v-for="(item , index) in message">
          <td @click="jia(index)">{{item.id}}</td>
          <td>{{item.name}}</td>
          <td>
            <button type="button" class="btn tn-primary" @click="subtract(index)">-</button>
            <input type="text" v-model="item.quantity">
            <button type="button" class="btn tn-primary" @click="add(index)">+</button>
          </td>
          <td>{{item.price | filtermoney}}</td>
          <!--<td>{{arr[index].one}}</td>-->
          <td>{{item.price*item.quantity | filtermoney}}</td>
          <td>
            <button type="button" class="btn btn-danger" @click="remove(index)">移除</button>
          </td>
        </tr>
        <tr>
          <td>總購(gòu)買(mǎi)價(jià)  
          </td>
          <td>
            {{animatenum | filtermoney}}
          </td>
          <td>總購(gòu)買(mǎi)數(shù)量
          </td>
          <td>

          </td>
          <td colspan="2">
            <button type="button" class="btn btn-danger" @click="empty()">清空購(gòu)物車(chē)</button>
          </td>
        </tr>
      </tbody>
    </table>

    <p v-if="message.length===0">您的購(gòu)物車(chē)為空</p>
  </div>
  <script src="https://unpkg.com/tween.js@16.3.4"></script>
  <script src="https://cdn.bootcss.com/vue/2.2.3/vue.min.js"></script>
  <script>
   var vm=new Vue({
   el:"#app",
   data:{
    totalPrice:0,
    animatenum:0,
    message:[
    {
        id: 007,
        name: 'iphone5s',
        quantity: 3,
        price: 4000
     },{
        id: 1340,
        name: 'iphone5',
        quantity: 9,
        price: 3000
     },{
        id: 7758,
        name: 'imac',
        quantity: 4,
        price: 7000
     },{
        id: 2017,
        name: 'ipad',
        quantity: 5,
        price: 6000
      }
    ]
   },
   watch:{
    toComput2:function(newValue,oldValue){
    this.tween(newValue,oldValue);
    }
   },
   computed:{
    //計(jì)算總金額
    toComput2:function(){
    var vm=this;
    //每次進(jìn)來(lái)要重置總金額
    vm.totalPrice=0;
    this.message.forEach(function(mess){
     vm.totalPrice+=parseInt(mess.price*mess.quantity);
    })
    return this.totalPrice;
    }
   },
   filters:{
    filtermoney:function(value){
    return '¥'+value ;
    }
   },
   mounted:function(){ 
    this.tween('97000','0');
   },
   methods:{
    //計(jì)算總數(shù)的方法為什么寫(xiě)在methods里面就不行?
    toComput:function(){
    var vm=this;
    vm.message.forEach(function(mess){
     vm.totalPrice+=parseInt(mess.price*mess.quantity);
    })
   return vm.totalPrice;
    },
    add:function(index){
    var vm=this;
    vm.message[index].quantity++;
    },
    subtract:function(index){
    var vm=this;
    vm.message[index].quantity--;
    if(vm.message[index].quantity<=0){
     if (confirm("你確定移除該商品?")) { 
        vm.message.splice(index,1)
      } 
    }

    },
    remove:function(index){
    var vm=this;
    if (confirm("你確定移除該商品?")) { 
        vm.message.splice(index,1)
      } 
    },
    empty:function(){
    var vm=this;
    vm.message.splice(0,vm.message.length);
    },
    jia:function(index){
    var vm=this;
    vm.arr[index].one++;
    },
    tween:function(newValue,oldValue){
   var vm=this;
   var twen=new TWEEN.Tween({animatenum:oldValue});
   function animate() {
     requestAnimationFrame(animate);  
     TWEEN.update(); 
   };
   twen.to({animatenum:newValue},750);
   twen.onUpdate(function(){
   //toFixed();保留幾位小數(shù)
   vm.animatenum = this.animatenum.toFixed();
   })
   twen.start();
   animate();
  }
   }
   });

  </script> 
</body>
</html>

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

  • 詳解vue移動(dòng)端日期選擇組件

    詳解vue移動(dòng)端日期選擇組件

    小編給大家整理了關(guān)于vue移動(dòng)端日期選擇組件的知識(shí)點(diǎn)總結(jié),希望能夠給讀者帶來(lái)幫助,一起學(xué)習(xí)參考下。
    2018-02-02
  • Vue defineProperty使用教程

    Vue defineProperty使用教程

    Vue通過(guò)Object.defineProperty來(lái)實(shí)現(xiàn)監(jiān)聽(tīng)數(shù)據(jù)的改變和讀取(屬性中的getter和setter方法) 實(shí)現(xiàn)數(shù)據(jù)劫持。下面簡(jiǎn)單記錄一下,vue監(jiān)聽(tīng)數(shù)據(jù)變化的原理
    2023-01-01
  • 解決vue?change阻止默認(rèn)事件問(wèn)題

    解決vue?change阻止默認(rèn)事件問(wèn)題

    這篇文章主要介紹了vue?change阻止默認(rèn)事件問(wèn)題,使用事件 @click.stop.native.prevent 解決 (使用@click.stop 或者 @click.prevent都無(wú)效,直接報(bào)錯(cuò)還阻止不了事件),需要的朋友可以參考下
    2022-01-01
  • nuxt+axios解決前后端分離SSR的示例代碼

    nuxt+axios解決前后端分離SSR的示例代碼

    這篇文章主要介紹了nuxt+axios解決前后端分離SSR的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • vue項(xiàng)目中如何使用mock你知道嗎

    vue項(xiàng)目中如何使用mock你知道嗎

    這篇文章主要為大家介紹了vue項(xiàng)目如何使用mock,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-11-11
  • Vue中TypeScript和Pinia使用方法

    Vue中TypeScript和Pinia使用方法

    這篇文章主要介紹了Vue中TypeScript和Pinia使用方法,讓我們來(lái)看一個(gè)簡(jiǎn)單的示例來(lái)演示TypeScript 和 Pinia的強(qiáng)大之處,需要的朋友可以參考下
    2023-07-07
  • vue中mint-ui環(huán)境搭建詳細(xì)介紹

    vue中mint-ui環(huán)境搭建詳細(xì)介紹

    這篇文章主要介紹了vue中mint-ui環(huán)境搭建詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • 解決vuecli3.0熱更新失效的問(wèn)題

    解決vuecli3.0熱更新失效的問(wèn)題

    今天小編就為大家分享一篇解決vuecli3.0熱更新失效的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • vue 點(diǎn)擊其他區(qū)域關(guān)閉自定義div操作

    vue 點(diǎn)擊其他區(qū)域關(guān)閉自定義div操作

    這篇文章主要介紹了vue 點(diǎn)擊其他區(qū)域關(guān)閉自定義div操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • Vue自定義部分頁(yè)面顯示導(dǎo)航欄功能

    Vue自定義部分頁(yè)面顯示導(dǎo)航欄功能

    這篇文章主要介紹了Vue自定義部分頁(yè)面顯示導(dǎo)航欄,在設(shè)計(jì)導(dǎo)航欄的時(shí)候,考慮到登錄之前不能瀏覽該網(wǎng)站,所以需要在登錄頁(yè)和注冊(cè)頁(yè)不能出現(xiàn)導(dǎo)航欄,登錄后的頁(yè)面才能出現(xiàn)導(dǎo)航欄,本文給大家解決這個(gè)問(wèn)題,感興趣的朋友跟隨小編一起看看吧
    2022-10-10

最新評(píng)論

钟祥市| 绍兴县| 阿瓦提县| 栖霞市| 繁昌县| 梅河口市| 彭阳县| 山阳县| 神木县| 青河县| 平舆县| 西城区| 江北区| 乌拉特中旗| 和林格尔县| 商丘市| 乌兰县| 永康市| 龙海市| 榆林市| 赤峰市| 会泽县| 丰宁| 高雄县| 大城县| 浦东新区| 博爱县| 定日县| 镇康县| 龙里县| 民权县| 威宁| 赤城县| 林周县| 巴青县| 仙桃市| 福建省| 孝义市| 美姑县| 南靖县| 钟山县|