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

Vue實現(xiàn)簡易購物車案例

 更新時間:2021年06月01日 11:45:15   作者:瘋狂的地球人  
這篇文章主要為大家詳細介紹了Vue實現(xiàn)簡易購物車案例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

先來看一下完成后的效果吧。

CSS 部分

這里沒什么好說的,就是v-cloak 這一個知識點

table{
  border: 1px solid #e9e9e9;
  border-collapse: collapse;
  border-spacing: 0;
}
th,td{
  padding: 8px 16px;
  border: 1px solid #e9e9e9;
  text-align: center;
}
th{
  background-color: #f7f7f7;
  color: #5c6b77;
  font-weight: 600;
}
[v-cloak]{
  display: none;
}

HTML部分

這里說明一些用到的一些Vue的知識點:

  • v-if
  • v-for
  • v-cloak
  • v-on > @
  • v-bind > :
  • 方法 methods
  • 計算屬性 computed
  • 過濾器 filters
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>購物車</title>
  <link rel="stylesheet" href="style.css" >
</head>
<body>
  
  <div id="app" v-cloak>
    <div v-if="books.length">
      <table>
        <thead>
          <tr>
            <th></th>
            <th>書籍名稱</th>
            <th>出版日期</th>
            <th>價格</th>
            <th>購買數(shù)量</th>
            <th>刪除</th>
          </tr>
        </thead>
        <tbody>
          <tr v-for="(item,index) in books">
            <th>{{item.id}}</th>
            <th>{{item.name}}</th>
            <th>{{item.date}}</th>
            <!--方案一 保留小數(shù)點和貨幣符號-->
            <!-- <th>{{"¥"+item.price.toFixed(2)}}</th> -->
            <!--方案二-->
            <!-- <th>{{getFinalPrice(item.price)}}</th> -->
            <!--方案三-->
            <th>{{item.price | showPrice}}</th>
            <th>
              <button @click="decrement(index)" :disabled="item.count<=0">-</button>
              {{item.count}}
              <button @click="increment(index)">+</button>
            </th>
            <th><button @click="removeHandle(index)">移除</button></th>
          </tr>
        </tbody>
      </table>
      <h2>總價格:{{totalPrice | showPrice}}</h2>
    </div>
    <h2 v-else>
      購物車為空
    </h2>
  </div>

</body>
<script src="../js/vue.js"></script>
<script src="main.js"></script>
</html>

JS部分

const app = new Vue({
  el:"#app",
  data:{
    books:[
      {
        id:1,
        name:"《算法導論》",
        date:'2006-9',
        price:85.00,
        count:1
      },
      {
        id:2,
        name:"《UNIX編程藝術(shù)》",
        date:'2006-2',
        price:50.00,
        count:1
      },
      {
        id:3,
        name:"《編程藝術(shù)》",
        date:'2008-10',
        price:39.00,
        count:1
      },
      {
        id:4,
        name:"《代碼大全》",
        date:'2006-3',
        price:128.00,
        count:1
      },
      
    ]
  },
  methods: {
   //這里我們放棄使用方法的形式來求總價格,轉(zhuǎn)而使用計算屬性,因為它的效率更高。
    // getFinalPrice(price){
    //   return "¥"+price.toFixed(2)
    // },
    increment(index){
      this.books[index].count++
    },
    decrement(index){
      this.books[index].count--
    },
    removeHandle(index){
      this.books.splice(index,1);
    }

  },
  computed: {
    totalPrice(){
      // 方案一:普通的for循環(huán)
      // let totalPrice = 0;
      // for(let i=0;i<this.books.length;i++){
      //   totalPrice += this.books[i].price * this.books[i].count
      // }
      // return totalPrice

      // 方案二:for in
      // let totalPrice = 0;
      // for(let i in this.books){
      //   // console.log(i);//1 2 3 4
      //   totalPrice += this.books[i].price * this.books[i].count
      // }
      // return totalPrice

      // 方案三:for of
      // let totalPrice = 0;
      // for(let item of this.books){
      //   // console.log(item);//這里拿到的就是數(shù)組里的每個對象
      //   totalPrice += item.price * item.count
      // }
      // return totalPrice

      // 方案四:reduce
      return this.books.reduce(function (preValue, book) {
        // console.log(book);//分別輸出四個對象
        return preValue + book.price * book.count
      }, 0)
    }
  },
  // 過濾器
  filters:{
    showPrice(price){
      return "¥"+price.toFixed(2)
    }
  }
})

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

相關(guān)文章

  • Vuex之Action的使用方法詳解

    Vuex之Action的使用方法詳解

    這篇文章主要介紹了Vuex之Action的使用方法詳解,Action 類似于 mutation ,不同在于Action 提交的是 mutation,而不是直接變更狀態(tài),
    Action 可以包含任意異步操作,需要的朋友可以參考下
    2023-11-11
  • vue的.vue文件是怎么run起來的(vue-loader)

    vue的.vue文件是怎么run起來的(vue-loader)

    通過vue-loader,解析.vue文件,在webpack解析,拆解vue組件 ,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友參考下
    2018-12-12
  • 解決vue3項目打包發(fā)布到服務器后訪問頁面顯示空白問題

    解決vue3項目打包發(fā)布到服務器后訪問頁面顯示空白問題

    這篇文章主要介紹了解決vue3項目打包發(fā)布到服務器后訪問頁面顯示空白問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • vue使用計算屬性完成動態(tài)滑竿條制作

    vue使用計算屬性完成動態(tài)滑竿條制作

    這篇文章主要介紹了vue使用計算屬性完成動態(tài)滑竿條制作,文章圍繞計vue算屬制作動態(tài)滑竿條的相關(guān)代碼完成內(nèi)容,需要的朋友可以參考一下
    2021-12-12
  • vue中使用@blur獲取input?val值

    vue中使用@blur獲取input?val值

    這篇文章主要介紹了vue中使用@blur獲取input?val值的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Vue項目中常用的實用技巧匯總

    Vue項目中常用的實用技巧匯總

    如果說是JQuery是手工作坊,那么Vue.js就像是一座工廠,雖然Vue.js做的任何事情JQuery都可以做,但無論是代碼量還是流程規(guī)范性都是前者較優(yōu),這篇文章主要給大家匯總介紹了關(guān)于Vue項目中常用的實用技巧,需要的朋友可以參考下
    2021-07-07
  • vue3中實現(xiàn)異步組件的方法實例

    vue3中實現(xiàn)異步組件的方法實例

    前端開發(fā)經(jīng)常遇到異步的問題,請求函數(shù)、鏈接庫等,下面這篇文章主要給大家介紹了關(guān)于vue3中實現(xiàn)異步組件的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • Vue實現(xiàn)鼠標懸浮切換圖片src

    Vue實現(xiàn)鼠標懸浮切換圖片src

    這篇文章主要為大家詳細介紹了Vue實現(xiàn)鼠標懸浮切換圖片src,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue input輸入框關(guān)鍵字篩選檢索列表數(shù)據(jù)展示

    vue input輸入框關(guān)鍵字篩選檢索列表數(shù)據(jù)展示

    這篇文章主要為大家詳細介紹了vue input輸入框關(guān)鍵字篩選檢索列表數(shù)據(jù)展示,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • vue antd的from表單中驗證rules中type的坑記錄

    vue antd的from表單中驗證rules中type的坑記錄

    這篇文章主要介紹了vue antd的from表單中驗證rules中type的坑記錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04

最新評論

安乡县| 汝州市| 禹州市| 石狮市| 西贡区| 香港| 呈贡县| 江华| 阿拉善左旗| 萍乡市| 罗山县| 岳阳县| 台前县| 肇源县| 甘孜| 甘德县| 江华| 即墨市| 清水河县| 鄯善县| 轮台县| 宾阳县| 万安县| 红安县| 都兰县| 佛坪县| 昆山市| 会东县| 朝阳市| 湘潭市| 揭西县| 冀州市| 凌源市| 额尔古纳市| 务川| 宝清县| 连江县| 郁南县| 嵩明县| 昆明市| 夏津县|