zoukankan      html  css  js  c++  java
  • 用基础知识vue做的小案例,购物车

    vue的基础知识

    购物车案例

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Title</title>
    </head>
    <body>
    <div id="app">
      <div v-if="books.length>=1">
        <table>
        <thead>
        <tr>
          <th></th>
          <th>书籍名称</th>
          <th>日期</th>
          <th>价格</th>
          <th>购买数量</th>
          <th>操作</th>
        </tr>
        </thead>
        <tbody>
        <tr v-for="(book,index) in books">
          <td>{{book.id}}</td>
          <td>{{book.name}}</td>
          <td>{{book.date}}</td>
    <!--      <td>{{getFullprice(book.price)}}</td>-->
          <td>{{book.price | showPrice}}</td>
          <td>
            <button @click="incremcount(index)" :disabled="book.count<1">-</button>
            {{book.count}}
            <button @click="addcount(index)" :disabled="book.count>=10">+</button>
          </td>
          <td><button @click="remove(index)">移除</button></td>
        </tr>
        </tbody>
      </table>
      <h2>总价格:{{totalPrice | showPrice}}</h2>
      </div>
      <h2 v-else>购物车为空</h2>
    </div>
    <script src="../vue.js"></script>
    <script>
      const app = new Vue({
        el: '#app',
        data: {
          books: [
            {id: 1, name: '回到明朝当王爷', date: '2010-02-25', price: 23, count: 1},
            {id: 2, name: '红楼梦', date: '1546-02-09', price: 25, count: 1},
            {id: 3, name: '三国演义', date: '1365-05-15', price: 87, count: 1},
            {id: 4, name: '石头记', date: '1995-02-1', price: 16, count: 1},
            {id: 5, name: '钢铁怎么炼成的', date: '2041-02-25', price: 43, count: 1},
          ]
        },
        methods: {
          incremcount(i){
            if (this.books[i].count >0){
              this.books[i].count --
            } else {
              alert('不能再少了!')
            }
          },
          addcount(i) {
            if (this.books[i].count <=9){
              this.books[i].count ++
            } else {
              alert('没有库存了!')
            }
          },
          remove(i) {
            this.books.splice(i,1)
          },
          getFullprice(price) {
            return '¥' + price.toFixed(2)
          }
        },
        filters: {
          showPrice(price) {
            return '¥' + price.toFixed(2)
          }
        },
        computed: {
          totalPrice() {
            let result = 0;
            for (let i in this.books) {
              result += this.books[i].price*this.books[i].count
            }
            return result
          }
        }
    
      })
    </script>
    </body>
    </html>
    
  • 相关阅读:
    远程桌面工具mRemoteNG与Tsmmc
    敏感性Sensitivity和特异性Specificity的说明
    React教程:4 个 useState Hook 示例
    React Hooks究竟是什么呢?
    一步一步搭建前端监控系统:如何监控资源加载错误?
    Promise的三兄弟:all(), race()以及allSettled()
    JavaScript中this究竟指向什么?
    编译器与Debug的传奇:Grace Murray Hopper小传
    21个React开发神器
    8种常见数据结构及其Javascript实现
  • 原文地址:https://www.cnblogs.com/ch2020/p/14838649.html
Copyright © 2011-2022 走看看