背景一部のショッピング モールの 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 プロキシのフロントエンドとバックエンドの分離プロジェクトの完全な手順
1. ビューポートの概要モバイル ブラウザは通常、画面よりも幅の広い仮想ウィンドウにページをレンダリ...
最近、同社は、下図に示すように、h5 ページ操作を完了するという要件を提示しました。 ネットで入手で...
序文このチュートリアルでは最新バージョンをインストールします。 NAS は非常に安定して動作するので...
この記事では、docker 経由で Jenkins+Maven+SVN+Tomcat をデプロイし、...
execute、executeUpdate、executeQuery の違い (およびそれらの戻り値...
目次クラスコンポーネントイベントバインディング関数コンポーネントイベントバインディング要約するRea...
典型的なレイアウト例上の写真のように、正方形の真ん中に一定の隙間があり、その隙間は固定されています。...
名前タグの名前を指定します。形式 <input type="text" n...
1. CentOS8でのDockerのインストール カール https://download.doc...
私が実現したい機能は、新しいウィンドウを開いて新しいページを表示することですが、パラメータを渡す必要...
複数列のインデックスについては、理解が不足していることがよくあります。よくある間違いは、多数の列に独...
まず、変更イベントは 1 つだけです。 changelevel() //値を選択選択を変更して行の値...
この記事では、参考までにMySQLバックアップスクリプトを紹介します。具体的な内容は次のとおりです。...
次のコードは、Chrome による Cookie の変更の監視を導入しています。コードは次のとおりで...
目次ERR 1067による殺人事件2番目の問題の原因はsql_modeです3. sql_modeを設...