Vueは商品詳細ページの商品タブ機能を実装します

Vueは商品詳細ページの商品タブ機能を実装します

この記事の例では、商品詳細ページ機能を実現するためのVueの商品タブの具体的なコードを参考までに共有します。具体的な内容は次のとおりです。

ユーザーが商品をクリックして商品詳細ページに入ると、最初の小さな画像に対応する大き​​な画像がデフォルトで表示されます。その後、マウスを小さな画像の上に移動すると、大きな画像も変化します。効果は次のとおりです。

実装コード:

shopitem.vue のテンプレート (HTML) には、上部に大きな画像、下部に小さな画像があります。マウスを小さな画像の上に移動すると、getUrl イベントがトリガーされます (パラメーターは、小さな画像の show 属性とインデックスです)。

item.json ファイル (私のデータ ファイルでは、デフォルトでは最初の小さい画像の表示が true になっており、デフォルトの大きい画像では最初の画像が表示されます。大きい画像と小さい画像のパスは同じですが、CSS で制御される画像のサイズは異なります)。

shopitem.vue の <script> メソッド (fechData() は vue-resource を使用してバックグラウンド データ、つまりローカル json ファイルを要求します。ローカル json ファイルは static フォルダーに保存されます。)

vuex (状態管理) の store.js ファイル コードはデータの永続性を実現します。

//ストアは倉庫に相当します。1 つのコンポーネントがデータを使用して変更し、別のコンポーネントが前のコンポーネントによって変更されたデータを使用します。//このようにして、vuex は異なるコンポーネント (異なるページ) 間でのデータ共有を実現します。//vuex の紹介
'vue' から Vue をインポートします。
'vuex' から Vuex をインポートします。
 
Vue.js で Vuex をビルドします。
 
//Vuex を使用してデータの永続性を実装する/* 1.state は主に vuex でデータを保存するために使用されます*/
var 状態 = {
 番号:1,
 情報:[]
}
 
// 2. 変異には、主に状態のデータを変更するために使用されるメソッドが含まれています var mutations={
 カウント(){
  ++状態.数値;
 },
 // 値は書き込まれる必要があります状態
 storeItemInfo(状態、データ){
  state.info=データ;
// state.list.push(データ);
 }
}
 
 // 3. 計算プロパティと同様に、状態内のカウントデータが変更されると、ゲッター内のメソッドが送信され、新しい値を取得します var getters={
  計算されたカウント: (状態) => {
    状態.count*2を返します。
  }
}
 
// 3.vuex は Vuex.Store をインスタンス化します
定数ストア = 新しい Vuex.Store({
  状態、/* 略語 */
  突然変異、
  ゲッター
})
 
//4. ストアを公開する
デフォルトストアをエクスポートします。

これは、es6 関数、vuex、およびリクエスト データを使用してこの効果を実現するためのすべてのコードです。とにかく、私はようやく es6 関数の利点を理解しました。それが皆さんのお役に立てば幸いです。

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

以下もご興味があるかもしれません:
  • Vueは製品の複数選択機能を実装します
  • Vueはショッピングカート内のすべての商品の選択と逆選択を実現します
  • Vueは製品仕様選択機能を実装
  • Vue Mall の製品「フィルター」機能の実装コード
  • Vue+Nodeは、商品リストのページング、並べ替え、フィルタリングを実装し、ショッピングカート機能の追加について詳しく説明します。
  • Vue はショッピングカートの全選択、単一選択、および製品価格の表示を実装するコード例
  • Vueは製品仕様を選択する機能を実装します

<<:  Ubuntuがインターネットに接続できない場合の解決策

>>:  史上最もシンプルな MySQL データのバックアップと復元のチュートリアル (パート 1) (パート 35)

推薦する

html5 の新しいメソッドを使用して JavaScript で要素クラス名を操作する方法の詳細な説明

目次1. classList属性2. 実用化以前の JavaScript では、最初にクラス属性を取...

MySQLレジストリをクリアする方法

具体的な方法: 1. [ win+r ] を押して実行ウィンドウを開き、「regedit」と入力して...

Vue2とVue3の兄弟コンポーネント通信バスの違いと使い方

目次vue2.x vue3.x tiny-emitterプラグインの使用Mittプラグインの使用vu...

MySQLカバーインデックスの利点

一般的な提案は、WHERE 条件のインデックスを作成することですが、これは実際には一方的です。インデ...

ウェブデザイナーのウェブデザイン学習経験とスキルのまとめ

会社の影響力が拡大し、製品が改良され続けるにつれて、関連するイメージデザインもそれに追いつき、徐々に...

Vue フロントエンド開発補助機能状態管理詳細例

目次マップ状態マップゲッターマップミューテーションマップアクション例まとめマップ状態コンポーネントが...

Vue の DOM の非同期更新の簡単な分析

目次Vue が DOM を非同期更新する原理1 実際の DOM 要素を取得できるのはいつですか? 2...

画面なしで無線ネットワークに接続しているときに Raspberry Pi の IP アドレスを見つける方法

あなたがlinuxerだと仮定すると、 windowserだとは想定しません。Windows ユーザ...

JS の compose 関数と pipe 関数の使い方の詳細な説明

目次作成機能配列プロトタイプの削減Array.prototype.reduceRightパイプ関数作...

vue3.0プロジェクトアーキテクチャを段階的に構築する方法を教えます

目次序文: 1. vue-cliでプロジェクトを作成する2. ルーターをインストールする3. ディレ...

Mysql 複数データベースのバックアップ コード例

この記事は主にMysqlの複数データベースのバックアップのコード例を紹介します。この記事ではサンプル...

Dockerコンテナとホスト間のデータ相互作用の概要

序文実稼働環境で Docker を使用する場合、多くの場合、データを複数のコンテナ間で永続化または共...

MySQLデータベースでサポートされているストレージエンジンの比較

目次ストレージエンジンMySQL でサポートされているストレージ エンジン同時実行制御ロック粒子をロ...

Apache Web サーバーを使用して 2 つ以上のサイトを構成する方法

人気があり強力な Apache Web サーバーで 2 つ以上のサイトをホストする方法。前回の記事で...