要素にクラスを追加/削除することは、プロジェクト開発では非常に一般的な動作です。たとえば、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 のインストールと設定のグラフィックチュートリアル
目次ユーザー管理新しいユーザーを作成するユーザー名の変更ユーザーのパスワードを設定するルートパスワー...
SQL はメイントランクです。なぜ私はこのように理解するのでしょうか。技術的な観点からリレーショナル...
開発中にサーバーを起動する必要がある場合、ローカルテストではポートを直接書き込み、実際の環境ではバイ...
Dockerエラー1. 原因を確認するdocker ログ ネクサス2. エラーの原因OpenJDK ...
この記事では、動的な点と線の効果を実現するためのJavaScriptキャンバスの具体的なコードを参考...
Linux での MySQL データベースのマスター/スレーブ同期構成の利点は、この方法をバックアッ...
輸出: docker save -o centos.tar centos:latest #cento...
ターミナルやコンソールで作業しているときは、メールを読むなど、もっと重要な作業があるかもしれないので...
目次1. css() の基本的な使用法: 1.1 CSSプロパティを取得する1.2 CSSプロパティ...
目次最初の方法: MySQLデータベースが接続されていない場合2 番目の方法: データベースがすでに...
目次js のイベントイベントタイプ一般的なイベントイベント登録静的および動的登録の例onload 読...
このキーワードどのオブジェクトが関数を呼び出しますか? また、関数内の this はどのオブジェクト...
半夜かけてようやくブログのスタイルを大体完成させることができました。ブログ全体が青を基調としていて、...
Ubuntu 18のインストール中に、USBディスクからUbuntuのインストールを開始すると、mm...
1. INSERT INTO SELECT文ステートメントの形式は次のとおりです: Insert ...