要素にクラスを追加/削除することは、プロジェクト開発では非常に一般的な動作です。たとえば、Web サイトのナビゲーションでは、選択されたスタイルと選択されていないスタイルを区別するために、選択された項目にアクティブ クラスを追加します。ナビゲーションに加えて、この方法は選択と選択解除を処理するために他の多くの場所でも使用されます。 クラスの設定に加えて、プロジェクトでは要素のインライン スタイルを設定することがよくあります。jQuery の時代では、ほとんどの人がクラスの追加/削除を処理するために addClass と removeClass を組み合わせて使用し、要素のインライン スタイルを設定/取得するために css() メソッドを使用していました。 では、Vue ではこのような効果をどのように処理するのでしょうか? Vue では、v-bind ディレクティブを使用してクラスとスタイルをバインドできます。次に、それらをバインドするために Vue が提供するメソッドを確認しましょう。 オブジェクト構文バインディングクラスタブ ページの切り替えは、最も一般的なエフェクトの 1 つです。選択したタイトルを強調表示するにはどうすればよいでしょうか? 一般的な方法は、クラスを動的に切り替えることです。 <div id="アプリ"> <div class="ボタングループ"> <ボタン v-for="(タブ、インデックス) タブ内" v-bind:key="インデックス" v-bind:class="{active: currentTab === tab}" v-on:click="currentTab = タブ" >{{タブ}}</ボタン> </div> <コンポーネント v-bind:is="currentTabComponent"></コンポーネント> </div> <スクリプト> Vue.component("タブ1", { "template": "<p>これはタブ 1 です</p>" }); Vue.component("tab2", { "template": "<p>これはタブ 2 です</p>" }); Vue.component("tab3", { "template": "<p>これはタブ 3 です</p>" }); var vm = 新しい Vue({ el: "#app", データ: { 現在のタブ: "タブ1", タブ: ["tab1", "tab2", "tab3"] }, 計算: { 現在のタブコンポーネント() { this.currentTab を返します。 } } }); </スクリプト>
<ボタン クラス="btn" v-bind:class="{'btn-primary': isPrimary、アクティブ: isActive}" </ボタン> <スクリプト> var vm = 新しい Vue({ el: "#app", データ: { isPrimary: true、 アクティブ: true } }); </スクリプト> レンダリング結果は次のとおりです。 <button class="btn btn-primary アクティブ"></button> データオブジェクトを直接バインドすることもできます <button class="btn" v-bind:class="activePrimary"></button> <スクリプト> var vm = 新しい Vue({ el: "#app", データ: { アクティブプライマリ: { 'btn-primary': true、 アクティブ: 真 } } }); </スクリプト> レンダリング結果は上記と同じ <button class="btn btn-primary アクティブ"></button>
<button v-bind:class="activeClass"></button> <スクリプト> var vm = 新しい Vue({ el: "#app", データ: { アクティブ: true }, 計算: { アクティブクラス() { 戻る { アクティブ: this.isActive } } } }); </スクリプト> 配列構文バインディングクラス
<button class="btn" v-bind:class="[primary, active]"></button> <スクリプト> var vm = 新しい Vue({ el: "#app", データ: { プライマリ: 'btn-primary', アクティブ: 'btn-active' } }); </スクリプト>
//三項式 <button v-bind:class="[isActive ? active : '', primary]"></button> <スクリプト> var vm = 新しい Vue({ el: "#app", データ: { isActive: 真、 プライマリ: 'btn-primary', アクティブ: 'btn-active' } }); </スクリプト> //配列内でオブジェクト構文を使用する <button v-bind:class="[{active: isActive}, primary]"></button> <スクリプト> var vm = 新しい Vue({ el: "#app", データ: { isActive: 真、 プライマリ: 'btn-primary' } }); </スクリプト> オブジェクト構文バインディングスタイル
<div v-bind:style="{color: colorStyle, backgroundColor: background}"> オブジェクト構文 <スクリプト> var vm = 新しい Vue({ el: "#app", データ: { カラースタイル: '赤'、 背景: '青' } }); </スクリプト> クラスと同様に、データ オブジェクトを使用してバインドすることもできます。 <div v-bind:style="style">オブジェクト構文</div> <スクリプト> var vm = 新しい Vue({ el: "#app", データ: { スタイル: { 色: '赤'、 背景色: '青' } } }); </スクリプト> 配列構文バインディングスタイル
<div v-bind:style="[style, fontStyle]">オブジェクト構文</div> <スクリプト> var vm = 新しい Vue({ el: "#app", データ: { スタイル: { 色: '赤'、 背景色: '青' }, フォントスタイル: { フォントサイズ: '18px' } } }); </スクリプト> これで、Vue でクラスとスタイルを使用して v-bind バインディングを使用するいくつかの方法について説明したこの記事は終了です。Vue v-bind バインディングの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援してください。 以下もご興味があるかもしれません:
|
>>: MySQL 8.0.12 のインストールと設定のグラフィックチュートリアル
序文Oracle であれ MySQL であれ、新バージョンで導入された新機能は、一方では製品の機能性...
インターネット時代が成熟するにつれて、オンライン広告の発展も加速しています。圧倒的な広告収入と完璧な...
ウィンドウの中央にブロック要素の位置を設定する方法ブロック要素をウィンドウの中央に配置する上記の方法...
おそらく誰もが js の実行によって DOM ツリーの解析とレンダリングがブロックされることを知って...
Mac 最新バージョンの MySQL 8.0.22 パスワード回復問題の説明:昨日、突然、Macで最...
pthread_create関数機能紹介pthread_createはUNIX環境のスレッド作成関数...
1.ダウンロードしてインストールする公式ウェブサイトからコミュニティ エディションの dmg インス...
1. MySQLデータベースにログインするmysql -u ルート -pユーザーテーブルを表示する ...
まずdockerコンテナを実行しますルートユーザーとしてコマンドを実行する sudo docker ...
SQL JOIN 句は、テーブル間の共通フィールドに基づいて 2 つ以上のテーブルの行を結合するため...
テーブル タグの frame 属性と rules 属性は境界線の表示を制御できます。フレーム プロパ...
序文当社の MySQL オンライン環境のほとんどはバージョン 5.7.18 を使用しています。このバ...
element-uiを使用する場合、el-popoverというよく使われるコンポーネントがありますが...
<> 演算子機能: 等しくないことを示します。注: 「!=」演算子と同じ機能を持ちますが...
この記事では、Vueの具体的なコードを共有して、シンプルなマーキー効果を実現しています。具体的な内容...