Vue は小数点付きの星評価を実装します

Vue は小数点付きの星評価を実装します

この記事では、小数点付きの星評価を実装するためのVueの具体的なコードを参考までに共有します。具体的な内容は次のとおりです。

まずvue.jsファイルをインポートする必要があります

CSS部分

<スタイル>
 主要{
  位置:相対;
  }
 .star_line{
  /* 改行を強制しないように設定します */
  幅スペース:nowrap;
  オーバーフロー: 非表示;
  位置: 絶対;
  }
 。星{
  表示: インラインブロック;
  /* マウスを星の上に置いたときに小さな手の形に変わるように設定します*/
  カーソル: ポインタ
  }
</スタイル>

<div id="アプリ">
 <input type="text" v-model.number="スコア">
 <- 双方向バインディングでバインドされた値を受け取るコンポーネントは、値を使用して受け取る必要があります。原則は次のとおりです。input ->
 <v-star v-model="スコア"></v-star>
</div>

js 部分では、コンポーネントを使用し、入力はルート コンポーネントにあり、作成した星はコンポーネント内に配置されます。星の評価は主に、親コンポーネントと子コンポーネントが互いに値を受け渡す双方向バインディングによって実現されます。

コンポーネントテンプレート部分

<script id="v-star" type="text/html">
    <main :style="mainStyle">
        <!-- ホワイト スター -->
        <div class="star_line">
            <span @click="changeValue(star)" class="star" :style="starStyle" v-for="star in total">☆</span>
        </div>
        <!-- ブラックスター -->
        <div class="star_line" :style="blackStyle">
            <span @click="changeValue(star-1)" class="star" :style="starStyle" v-for="合計星数">★</span>
        </div>
    </メイン>
</スクリプト>

js部分

<スクリプト>
    Vue.component("v-star",{
        テンプレート:"#v-star",
        小道具:{
            合計:{
                デフォルト:10、
            },
            サイズ:{
                デフォルト:30
            },
            // 親コンポーネントから渡されたスコアを受け取る
            価値:{}
        },
        // 計算プロパティ computed:{
            メインスタイル(){
                戻る {
                    幅: this.size * this.total + "px",
                }
            },
            スタースタイル(){
                戻る {
                    幅:this.size + "px",
                    高さ:this.size + "px",
                    フォントサイズ: this.size + 6 + "px"
                }
            },
            ブラックスタイル(){
                戻る {
                    幅:この値 / この合計 * 100 + "%"
                }
            }
        },
        方法:{
            値の変更(値){
                // 最新の結果を入力に渡す
                // 入力タグにはデフォルトの入力イベントがあります this.$emit("input",value)
            }
        }
    })

    新しいVue({
        el:"#アプリ",
        データ:{
            スコア:1
        }
    })
</スクリプト>

レンダリング

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

以下もご興味があるかもしれません:
  • Vue2.0はフロントエンドの星評価機能コンポーネントのサンプルコードを実装します。

<<:  Ubuntu 20.04にvncserverをインストールする方法

>>:  CentOS 7 パスワードを忘れた場合の解決プロセス図

推薦する

デザイン理論:人間中心のデザインコンセプト

<br />思想が東西に分かれていた時代、東洋の叡智を代表するものの一つとして「禅」は多...

TypeScript とは何ですか?

目次1. JavaScriptの問題2. TypeScriptの利点3. TypeScriptの欠点...

Vue 日付時刻ピッカーコンポーネントの使い方の詳細な説明

この記事の例では、Vue の日付時刻ピッカーコンポーネントの具体的なコードを参考までに紹介します。具...

Vue はファジークエリを実装します - MySQL データベースデータ

目次1. 需要2. 実装3. 結果1. 需要入力ボックスにデータを入力し、入力結果に基づいてデータベ...

HTML ページに SVG を挿入する複数の方法

SVG (Scalable Vector Graphics)は、XML 構文に基づいた画像形式です。...

Element+vueを使用して開始時間と終了時間の制限を実装する

この記事の例では、Element+vueを使用して開始と終了の時間制限を実装するための具体的なコード...

Linux環境にJDKとTomcatをインストールする詳細な手順

目次1. JDKをインストールする手動インストール2. トムキャット1. JDKをインストールする注...

ネイティブ JavaScript でショッピングカートを実装する

この記事では、ショッピングカートを実装するためのJavaScriptの具体的なコードを参考までに紹介...

Linux CentOS MySQL データベースのインストールと設定のチュートリアル

MySQLデータベースのインストールに関するメモ、みんなで共有a) MySQL ソースインストールパ...

MySQL でデータ復旧に binlog を使用する方法

序文最近、オンラインでデータが誤って操作されました。データベースが直接変更されたため、それを回復する...

HTML における Div と table の違い (あらゆる側面から詳細に説明)

1: 速度と読み込み方法の違いdivとtableの違いは速度ではなく、読み込み方法です。速度はネット...

プロジェクトにおける CSS グリッドシステムの柔軟な使用方法の詳細な説明

序文CSS グリッドは通常、さまざまなフレームワークにバンドルされていますが、実際のビジネス ニーズ...

Mysqlがデータベースに接続するときのホストとユーザーのマッチングルールについての簡単な説明

--データベースに接続するとき、ホストとユーザーのマッチングルール公式ドキュメント: https:/...

js 配列 fill() 充填メソッド

目次1. fill() 構文2. fill() の使用3. まとめ序文:配列の初期化方法についてはよ...

MySQL バイナリログデータ復旧: 誤ってデータベースを削除した場合の詳細な説明

MySQL Binログデータの回復: 誤ってデータベースを削除した場合前書き: テスト マシンで誤っ...