背景一部のショッピング モールの Web ページで商品の詳細を開くと、購入数量を選択するためのカウンターが表示されます。このようなタイマーは、商品の詳細ページだけでなく、ショッピング カートにも表示されます。タイマーをコンポーネントにカプセル化して、再利用しやすくし、後でメンテナンスしやすくすることができます。 着陸コード<テンプレート> <div class="xtx-numbox"> <div class="label"><スロット /></div> <div class="numbox"> <a href="javascript:;" @click="handleSub(-1)">-</a> <input type="text" 読み取り専用 :value="num" /> <a href="javascript:;" @click="handleSub(1)">+</a> </div> </div> </テンプレート> <スクリプト> // 双方向バインディングを実装するためのサードパーティメソッド useVModel import { useVModel } from '@vueuse/core' エクスポートデフォルト{ 名前: 'XtxNumbox', 小道具: { モデル値: { タイプ: 数値、 デフォルト: 1 } }, セットアップ(props, { 出力 }) { //useVModelメソッドは3つのパラメータを受け取ります。 // パラメータ 1: カスタム プロパティ props は、v-model 双方向バインディングを通じて親コンポーネントから渡されたデータを受け取ります // パラメータ 2: props で渡されるデータ // パラメータ 3: バインドされたデータを発行するには、emit イベントを通じて親コンポーネントに通知する必要があります const num = useVModel(props, 'modelValue', emitting) 定数handleSub = n => { (n < 0) の場合 { 数値 -= 1 (props.modelValue === 1)の場合{ 数値 = 1 } } それ以外 { 数値 += 1 } } 戻り値: { handleSub, num } } } </スクリプト> <style スコープ lang="less"> .xtx-numbox { ディスプレイ: フレックス; アイテムの位置を中央揃えにします。 .ラベル { 幅: 60ピクセル; 色: #999; 左パディング: 10px; } .numbox { 幅: 120ピクセル; 高さ: 30px; 境界線: 1px 実線 #e4e4e4; ディスプレイ: フレックス; > { 幅: 29px; 行の高さ: 28px; テキスト配置: 中央; 背景: #f8f8f8; フォントサイズ: 16px; 色: #666; &:最初の型 { 右境界線: 1px 実線 #e4e4e4; } &:最後の型 { 左境界線: 1px 実線 #e4e4e4; } } > 入力 { 幅: 60ピクセル; パディング: 0 5px; テキスト配置: 中央; 色: #666; } } } </スタイル> 使用 <XtxNumbox v-model="num">数量</XtxNumbox> 効果 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQL 学習チュートリアル クラスター化インデックス
>>: 同じドメイン名を持つ Nginx プロキシのフロントエンドとバックエンドの分離プロジェクトの完全な手順
まず、MySQL とは何かを理解しましょう。 MySQL は、スウェーデンの会社 MySQL AB ...
[LeetCode] 177. 最も高い給与従業員テーブルからn番目に高い給与を取得する SQL ...
この記事では、ショッピングサイトの虫眼鏡機能を実現するためのjsの具体的なコードを紹介します。具体的...
目次1. テンプレート文字列とは何ですか? 2. 複数行のテンプレート文字列2.1 式付きテンプレー...
序文: MySQL で最も一般的に使用されるアーキテクチャは、マスター スレーブ レプリケーションで...
序文システムの高可用性を満たすためには、通常、クラスターを構築する必要があります。ホストがクラッシュ...
目次1. toStringメソッドの3つの機能2. オブジェクトを表す文字列を返す3. カスタム t...
目次1. nginx とは何ですか? 2. nginx で何ができるのか? 2.1 フォワードプロキ...
序文常にエラーが発生するため、MySQL データベースに接続するプロセスを記録します。接続プロセス1...
コードを書くのに 30 分かかりましたが、この HTML5 Canvas New Year Fire...
まず、仮想マシンを開きます xshell5 を開いて仮想マシンに接続します (より便利です。Linu...
MySQL をインストールすると初期パスワードが与えられますが、この初期パスワードは大文字と小文字の...
1. 準備例: 2 台のマシン: 192.168.219.146 (マスター)、192.168.21...
Linuxファイアウォールの状態を確認する方法1. 基本操作 # ファイアウォールのステータスを表示...
この記事では、例を使用して MySQL カスタム関数の原理と使用方法を説明します。ご参考までに、詳細...