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)

推薦する

Vue パッケージサイズの最適化の実装 (1.72M から 94K)

1. 背景最近、独立した開発者がUIデザインを行うのを支援するために、uideaというWebサイト...

ゲームの Node.JS バージョンを作成する方法

目次概要ビルドプロセス関連APIリードライン基本的な使い方チョーククリア手順に関する追加情報完全なコ...

VMware ワークステーション 12 に Ubuntu 14.04 (64 ビット) をインストール

1. インストール環境コンピュータモデル: Lenovo Y471a (i5) ノートパソコンシステ...

React スキャフォールディングのパスエイリアスを設定する方法

この記事を書いている時点でのReactのバージョンは16.13.1です1 npm run eject...

シンプルなドラッグ効果を実現するJavaScript

この記事では、簡単なドラッグ効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

UTF-8 ファイルの Unicode 署名 BOM (バイト オーダー マーク) の問題

最近、UTF8 エンコードの中国語 Zen Cart Web サイトをデバッグしているときに奇妙な現...

NodeとPythonの双方向通信実装コード

目次プロセスコミュニケーションプロセス間の双方向通信問題要約するサードパーティのデータ サプライヤー...

Vue における ref と $refs の紹介と使用例

序文JavaScript では、document.querySelector("#demo...

JS と Nodejs におけるイベント駆動型開発についての簡単な説明

目次イベント駆動型とパブリッシュ・サブスクライブ型ブラウザの JavaScript ではイベント駆動...

Reactエラー境界コンポーネント処理

React 16の内容です。最新技術ではありませんが、ドキュメントで調べるまであまり話題に上がらなか...

HTMLリンクタグのrel属性

<link> タグは、現在のドキュメントと Web コレクション内の他のドキュメントとの...

Vue2とVue3のライフサイクルの比較の詳細な理解

目次サイクル比較使用法要約するサイクル比較ヴュー2ヴュー3作成前設定作成された設定マウント前マウント...

HTMLで下線を設定するには?HTMLでテキストに下線を付ける方法

HTML で下線を引くには、以前はテキストを <u></u> タグで囲む必要...

ウェブサイトのホームページを作成するための基本原則

1. ウェブサイトのホームページのハイパーテキスト ドキュメントの構成構造は、ユーザーの注意をできる...