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動的実行監視収集スクリプトの実装原理

推薦する

SQL ステートメント実行の詳細な説明 (MySQL アーキテクチャの概要 -> クエリ実行プロセス -> SQL 解析順序)

序文:私はずっと、SQL 文がどのように、どのような順序で実行されるのかを知りたいと思っていました。...

CentOS での mysql5.7 の詳細なインストールと設定のチュートリアル

インストールユーザーにインストール権限があることを確認してくださいルートスイッチなしsuルート(su...

Nginx ローカル ディレクトリ マッピング実装コード例

他のデバイスの画像をローカルディレクトリにマウントするなど、サーバー上の静的リソースにアクセスする必...

Mac に MySQL データベースをインストールし、環境変数を設定するためのグラフィック チュートリアル

目次MySQLをインストールする環境変数の設定MySQLをインストールするmysqlをダウンロードし...

InnoDB テーブルの BLOB 列と TEXT 列のストレージ効率を最適化します。

まず、MySQL InnoDB エンジンのストレージ形式に関する重要なポイントをいくつか紹介します。...

セマンティックタグを使用して、IE6、7、8と互換性のあるHTMLを記述します。

HTML5 では、ヘッダー、フッター、ナビゲーションなどのセマンティック タグが追加されているため...

WeChatアプレット+mqtt、esp8266温度と湿度の読み取り実装方法

まず、 esp8266 は mqtt を通じてメッセージを公開し、WeChat アプレットは mqt...

Ubuntu で FTP サーバーを構築する方法の詳細な説明 (成功保証)

1. 今日の午後、コースの要件により、Ubuntu で FTP サーバーを設定する実験を行う必要が...

Vue.jsは音楽プレーヤーを実装します

この記事では、音楽プレーヤーを実装するためのVue.jsの具体的なコードを参考までに共有します。具体...

Web プロジェクトでの SQL インジェクションの防止

目次1. SQLインジェクションの概要2. SQLインジェクション攻撃の全体的な考え方SQLインジェ...

JavaScriptプロトタイプチェーン図のまとめと実践

目次プロトタイプチェーンプロトタイプチェーンに基づいてシンプルなJQueryライブラリを実装すること...

CSS は Alibaba ベクター ライブラリを使用して、対応する位置に見栄えの良いアイコン効果をすばやく追加します (サンプル コード)

Alibaba ベクターアイコンライブラリにアクセスAlibaba ベクターアイコンライブラリ好き...

ウェブ上でチャートを描くための 9 つの優れた JavaScript フレームワーク スクリプト

ウェブ上でチャートを描くための 9 つの優れた JavaScript フレームワーク スクリプト 1...

CSS の inline-block の最小幅値の詳細な説明

序文最近、私は夜に時間を取って「CSS World」という本を読んでいます。この本は非常に興味深く、...

Vueのフィルターについて知っておくべきこと

目次序文フィルターとは何かフィルターの使い方グローバルフィルターローカルフィルターフィルターは直列に...