Vueコンポーネント化の基本的な使用方法の詳細

Vueコンポーネント化の基本的な使用方法の詳細

序文:

場合によっては、HTML 構造化コードのセットが存在し、それにイベントがバインドされることがあります。すると、このコードは複数の場所で使用される可能性があり、あちこちにコピーされると、イベント部分のコードを含め、多くのコードが繰り返されることになります。そして、この時点でこれらのコードをコンポーネントにカプセル化することができ、将来それを使用するときには、通常のhtml要素を使用するのと同じように使用できます。

1. コンポーネント化とは何ですか?

vue.jsには 2 つの魔法の武器があります。1 つはデータ駆動型、もう 1 つはコンポーネント化です。そこで疑問になるのは、コンポーネント化とは何であり、なぜコンポーネント化が必要なのかということです。次に、この 2 つの質問に 1 つずつお答えします。コンポーネント化とは、ページを複数のコンポーネントに分割し、各コンポーネントが依存するCSSJS 、テンプレート、画像などのリソースをまとめて開発、保守することです。 コンポーネントはリソースに依存しないため、システム内で再利用でき、ネストできます。プロジェクトが複雑な場合、コードの量を大幅に簡素化でき、後からの変更やメンテナンスにもより適しています。

2. 基本的な使い方

<div id="アプリ">
  <ボタン カウンター></ボタン カウンター>
  <ボタン カウンター></ボタン カウンター>
  <ボタン カウンター></ボタン カウンター>
</div>
<スクリプト>
  // button-counterという新しいコンポーネントを定義します Vue.component('ButtonCounter', {
    データ: 関数 () {
      戻る {
        カウント: 0
      }
    },
    テンプレート: '<button @click="count++">{{ count }} 回クリックしました</button>'
  })
  constアプリ = 新しいVue({
    el: "#app",
    データ: {
      メッセージ: 「こんにちは」
    }
  })
</スクリプト>

上記では、ボタンがクリックされた回数を記録する機能を実装するbutton-counterというコンポーネントを作成しました。後から使用したい場合は、 button-counterを通じて使用できます。コンポーネントは再利用可能なVueインスタンスであるため、 datacomputedwatchmethods 、 lifecycle hooks など、 new Vueと同じオプションを受け取ります。唯一の例外は、el のようなルートインスタンス固有のオプションです。

もう一つ注意すべき点は、コンポーネント内のdata関数である必要があるということです。

達成された結果を見てみましょう:

上記ではbutton-counterコンポーネントを 3 回使用したため、ページには 3 つのコンポーネントが表示され、各コンポーネントは独立してcountを維持します。これは、コンポーネントを使用するたびに新しいインスタンスが作成されるためです。各インスタンスは返されたオブジェクトの独立したコピーを保持できるため、 dataで関数を使用します。

Vue コンポーネント化の基本的な使い方についてはこれで終わりです。Vue コンポーネント化の使い方に関するより詳しい内容については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue ライフサイクルにおけるコンポーネント化をご存知ですか?
  • Vue コンポーネントの学習範囲を限定した詳細な説明
  • Vue コンポーネント開発に必須のスキル: コンポーネントの再帰
  • Vueドロップダウンメニューのコンポーネント開発の詳細説明
  • Vue コンポーネント化の一般的な方法: コンポーネント値の転送と通信
  • Vueのコンポーネント化を一緒に学びましょう

<<:  MySQL 文字列分割操作 (区切り文字を含む文字列のインターセプション)

>>:  Zabbix動的実行監視収集スクリプトの実装原理

推薦する

MySQL の制限ページング最適化ソリューションの実装に関する簡単な説明

MySQL のページングステートメントの使用制限Oracle や MS SqlServer と比較す...

Nginx Rewrite の使用シナリオと設定方法の分析

Nginx Rewriteの使用シナリオ1. URL アドレスジャンプ。たとえば、ユーザーが pm....

MySQL ページング分析の原理と効率改善

MySQL ページング分析の原理と効率改善PERCONA PERFORMANCE CONFERENC...

Web ページのデザインを学ぶときに習得すべきコードは何ですか?

この記事では、Web ページ制作を学ぶ過程で習得すべきテクニックの一部を詳しく紹介します。これらの内...

Ubuntuのインストール Matlab2020b の詳細なチュートリアルとリソース

目次1. リソースファイル2. インストール2.1 詳細な手順2.1.1 ディスクイメージのマウント...

mysql5.7 以降で my.ini を設定するための詳細な手順

Windows 64 ビット版 MySQL 5.7 以降の解凍パッケージにデータディレクトリ、my-...

IE6のバグと修正は予防戦略です

元記事:究極の IE6 チートシート: 25 以上の Internet Explorer 6 のバグ...

Centos8.2 クラウド サーバー環境に Tomcat8.5 をインストールするための詳細なチュートリアル

Tomcatをインストールする前に、まずJDK環境をインストールしてくださいLinux サーバー上で...

MySQL 最適化のヒント: 重複削除の実装方法の分析 [数百万のデータ]

この記事では、MySQL 最適化のヒントで重複したエントリを削除する方法を例を使って説明します。ご参...

Mysql はテーブル内の古いデータを定期的にクリアし、いくつかのデータを保持します (推奨)

以下の目標を達成するため: Mysql データベースは、一定の間隔 (2 時間または 1 日、カスタ...

ウェブページの内部アンカーポイントを実現するための純粋なCSSの上下オフセットコード例

最近、「フットボール ナビゲーション」Web サイトに取り組んでいるときに、上部の固定ナビゲーション...

Day.js をベースにした JavaScript での日付処理のよりエレガントな方法

目次day.js を使用する理由モーメントデイ.js day.js がなければどうなるでしょうか? ...

進捗バー効果を実現するJavaScript

この記事では、プログレスバー効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

EChartsマルチチャート連携機能の実装プロセス

表示するデータが多い場合、1 つのチャートに表示しても効果はよくありません。このとき、2 つのチャー...