要素にクラスを追加/削除することは、プロジェクト開発では非常に一般的な動作です。たとえば、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 のインストールと設定のグラフィックチュートリアル
目次1. ルートナビゲーション2. 履歴状態管理API (1)ハッシュチェンジイベント(2)ポップス...
MySQLダウンロードアドレス: https://obs.cn-north-4.myhuaweicl...
textarea 入力領域でテキストを折り返す場合は、<br/> と入力すると <...
イメージは、GitHub と同様に Docker パブリック リポジトリに直接簡単にプッシュできます...
BackUpMysql.sh スクリプト #!/bin/bash PATH=/bin:/sbin:/...
目次ノードのバージョンが一致しない、ノードをアップグレードまたはダウングレードするnvm を使用して...
目次1. 重複行を見つける方法2. 重複行を削除する方法3. 複数の列で重複を見つける方法4. クエ...
Word of Mouth に入社して 3 ~ 4 か月が経ちました。仕事の中で一番の収穫は、ビジュ...
目次1. はじめに: 2. 最初のアイデアはインデックスを構築することです3. 命令P.S. Lik...
この記事では、JD.comのカルーセル効果の表示を実現するためのJavaScriptの具体的なコード...
デフォルトでは、コンテナ データの読み取りと書き込みはコンテナのストレージ レイヤーで行われます。コ...
1. Tclスクリプトファイルcircle.tclコードコメント #シミュレーションに必要なプロパテ...
Hexo は Windows 10 でカスタムドメイン名を GitHub にバインドしますまずドメイ...
最近、Grover の Web サイトで楽しいホバー アニメーションを見つけ、自分自身のインスピレー...
要素 ui テーブルにはドラッグ アンド ドロップによる並べ替え機能が組み込まれておらず、サードパー...