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 パスワードを忘れた場合の解決プロセス図

推薦する

vuexサードパーティパッケージを使用してデータの永続性を実装する方法

目的: vuex で管理されている状態データを同時にローカルに保存できるようにします。独自のストレー...

Linuxは、単一のIPをバインドするためにデュアルネットワークカードを実装するためにボンドを使用します。サンプルコード

ネットワークの高可用性を実現するには、複数のネットワーク カードを仮想ネットワーク カードにバインド...

Ubuntuのバックアップ方法(4種類)のまとめ

方法1:リスピンを使用するには、次の手順に従ってください。 sudo add-apt-reposit...

vue+echarts で中国地図のフロー効果を実現する (詳細な手順)

@vue+echarts は中国地図のフロー効果を実現します#レンダリングを見てみましょう手順:コ...

IDEA に基づいて Tomcat サーバーを展開するための詳細な手順

目次導入ステップ1ステップ2: アイデアで動的Webプロジェクトを作成するステップ3: Tomcat...

テキスト ファイルの並べ替えに役立つ Awk コマンドラインまたはスクリプト (推奨)

Awk は、ソートを含む他の一般的なユーティリティによって実行できるいくつかのタスクを実行できる強...

ボタンの権限判定を実装するためのVueカスタムv-has命令

アプリケーションシナリオバックグラウンド管理システムを例にとると、各ユーザーには異なるボタン権限があ...

Linux コマンドライン操作 Baidu クラウドのファイルのアップロードとダウンロード

目次0. 背景1. インストール2. Baidu Cloudアカウントにログインする3. ファイルを...

Vue v-for ループを書く 7 つの方法

目次1. v-forループでは常にキーを使用する2. 特定のスコープ内でv-forループを使用する3...

テキストエリアの disabled 属性と readonly 属性の具体的な使用法

障害者の定義と使用法disabled 属性はブール属性です。 disabled 属性は、テキスト領域...

JavaScript 履歴オブジェクトの説明

目次1. ルートナビゲーション2. 履歴状態管理API (1)ハッシュチェンジイベント(2)ポップス...

MySQL最適化ツール(推奨)

序文今日 GitHub を閲覧していたところ、SQL を最適化および書き換えるための sora とい...

vue3+ts+EsLint+Prettier 標準コード実装

目次使用EsLintの使用プロフィールを追加するPrettierの使用huskyとlint-stag...

MySQL 接続で認証失敗エラーが発生する場合の分析と解決方法

[問題の説明]アプリケーション側では、次のエラーが時々表示されます。メソッド 'mysql_...

ubuntu14.04 に jdk1.8 をインストールするチュートリアル

1. jdkダウンロードアドレスをダウンロードする我下載的是jdk-8u221-linux-x64....