Vueはシンプルなショッピングカートの例を実装します

Vueはシンプルなショッピングカートの例を実装します

この記事では、参考までに、Vue の具体的なコードを共有して、簡単なショッピングカートを実装します。具体的な内容は次のとおりです。

HTML ホームページ

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
  <メタ文字セット="UTF-8">
  <meta http-equiv="X-UA-compatible" content="IE=edge">
  <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
  <title>ドキュメント</title>
  <link rel="スタイルシート" href="/css/index.css" >
  
</head>
<本文>
  <div id="アプリ">
   <div v-if="本.length != 0">
    <テーブル>
      <頭>
        <tr>
          <番目></番目>
          <th>書籍名</th>
          <th>予定通り公開</th>
          <th>価格</th>
          <th>購入数量</th>
          <th>オペレーション</th>
        </tr>
      </thead>
      <t本文>
        <tr v-for="(item,index) 書籍内">
          <td>{{item.id}}</td>
          <td>{{アイテム名}}</td>
          <td>{{item.date}}</td>
          <td>{{item.price | 表示価格}}</td>
          <td>
            <button @click="decrement(index)" :disabled="item.count <= 1">-</button>
            {{item.count}}
            <button @click="increment(index)">+</button>
          </td>
          <td><button @click="removeHandle(index)">削除</button></td>
        
        </tr>
      </tbody>
    </テーブル>
    <h2>合計金額: {{totalPrice | showPrice}}</h2>
   </div>
   <h2 v-else>ショッピングカートは空です</h2>
  </div>
 
  <script src="/js/vue.js"></script>
  <script src="/js/index.js"></script>
</本文>
</html>

CSSコード

* {
  マージン: 0;
  パディング: 0;
}
テーブル {
  マージン: 100px 0 0 100px;
  境界線: 1px 実線 #e9e9e9;
  境界線の折りたたみ: 折りたたみ;
  境界線の間隔: 0;
}
 
番目、
td {
  パディング: 8px 16px;
  境界線: 1px 実線 #e9e9e9;
  テキスト配置: 左;
}
 
番目 {
  背景色: #f7f7f7;
  色: 黒;
  フォントの太さ: 6000 ;
}
 
h2 {
  幅: 500ピクセル;
  左マージン: 100px;
}
 
ボタン {
  パディング: 5px;
}

js コード (Vue)

constアプリ = 新しいVue({
  el:"#アプリ",
  データ:{
    書籍:
      {
        id:1,
        名前:「アルゴリズム入門」
        日付:'2019-2'、
        価格:85.00、
        カウント:1
      },
      {
        id:2,
        名前:「コンピュータの基礎」
        日付:'2019-2'、
        価格:95.00、
        カウント:1
      },
      {
        id:3,
        名前:'C++ 上級言語'、
        日付:'2019-2'、
        価格:89.00、
        カウント:1
      },
      {
        id:4,
        名前:'《コンパイル原則》',
        日付:'2019-2'、
        価格:77.00、
        カウント:1
      },
    ]
   
  },
  方法:{
    減算(インデックス){
      this.books[index].count--
    },
    増分(インデックス){
      this.books[インデックス].count++
    },
    ハンドルを削除します(インデックス){
      this.books.splice(インデックス,1)
    }
  },
 
  計算:{
    合計価格(){
      最終価格を 0 にする
      for(let i = 0; i < this.books.length; i++){
        最終価格 += this.books[i].price * this.books[i].count
      }
      最終価格を返す
    }
  },
 
  フィルター:
    価格を表示(価格){
      '¥' + price.toFixed(2) を返す
    }
  }
})

運用結果

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Vuejsは、完全なショッピングカートのサンプルコードを書く方法を段階的に教えてくれます
  • Vuejs ベースのショッピングカート機能の実装
  • Vueはショッピングカート機能を実装します
  • Vueはショッピングカートの小さなケースを実装します
  • Vueはショッピングモールのショッピングカート機能を実現
  • vuex で実装されたシンプルなショッピングカート機能の例
  • Vue を使用してショッピングカートの放物線ボールアニメーション効果を実現する方法の詳細な説明
  • Vueでショッピングカートの詳細ページを実装する方法
  • Vuejsはショッピングカート機能を実装します

<<:  ハイパーリンクに関するいくつかの質問

>>:  HTML テーブルタグチュートリアル (33): セルの垂直配置属性 VALIGN

推薦する

MySQL での varchar 型の日付の比較、並べ替え、その他の操作の実装

MySQL を使用する場合、日付は通常、datetime や timestamp などの形式で保存さ...

Ubuntu システムに Theano と Keras をインストールする方法

注: システムは Ubuntu 14.04LTS、32 ビット オペレーティング システムです。Py...

MySQL のジオメトリ型を使用して経度と緯度の距離の問題を処理する方法

テーブルを作成する テーブル `map` を作成します ( `id` int(11) NULLではな...

Tomcat ソースコード起動コンソールの中国語文字化けのデバッグプロセス記録

問題を見つける今日はTomcatのソースコードを勉強するつもりなので、公式サイトからTomcatのソ...

Nexusプライベートサーバー構築原理とチュートリアル分析

1つ。 Nexus プライベート サーバーを構築する理由は何ですか?社内の開発メンバーは全員外部ネッ...

VMware12.0 インストール Ubuntu14.04 LTS チュートリアル

私は、デスクトップ バージョンとサーバー バージョンの両方で、仮想マシンにさまざまなイメージを何度も...

MySQLの制限を使用して大規模なページングの問題を解決する方法

序文日常の開発では、MySQL を使用してページングを実装する場合、常に MySQL 制限構文を使用...

Nginx の構成と HTTP 実装コード分析との互換性

OpenSSL を使用して SSL キーと CSR ファイルを生成するHTTPS を設定するには、秘...

MySQL XA で分散トランザクションを実装する方法

目次序文XA プロトコルMySQL XA で分散トランザクションを実装する方法序文MySQL が単一...

HTML ページの部分更新の実装コード

イベント応答の更新: 要求されたときのみ更新1. JS HTML DOM または jQuery を介...

JavaScript Alert関数の実行順序の詳細な説明

目次質問分析する解決するAlert() 関数を置き換えるsetTimeOut関数まとめ質問数日前、J...

HTMLは無効なテーブル幅設定の問題を解決します

テーブルに table-layer:fixed スタイルを設定し、テーブル内の行が結合されていること...

ブラウザタブの左端に表示されるウェブサイトのアイコンを設定します

この文の目的は何ですか?コードをコピーコードは次のとおりです。 <link rel="...

CSS の 4 つのインポート方法と優先順位の簡単な分析

第一に: CSSを導入する4つの方法CSS を導入する方法には、インライン スタイル、埋め込みスタイ...

Portainer を使用して複数の Docker コンテナ環境を管理する方法を説明します。

目次Portainerは複数のDockerコンテナ環境を管理します2. Dockerを管理する2.1...