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

推薦する

異なるブラウザ間で互換性のあるテキスト配置を実現する CSS

フォームのフロントエンド レイアウトでは、テキスト ボックスのプロンプト テキストを両端に揃える必要...

Reactコンポーネントのライフサイクルの詳細な説明

目次1.ライフサイクルとは何か2. 読み込みプロセス1.コンストラクタ2. レンダリング3. コンポ...

Linux システム MySQL8.0.19 クイックインストールと構成チュートリアル図

目次1. 環境の紹介2. MySQL-8.0.19をインストールする3. MySQLを設定する1. ...

独自の FTP および SFTP サーバーを構築するプロセスの紹介

FTP と SFTP はファイル転送プロトコルとして広く使用されています。関連する機能を開発するには...

Vue3 (パート 2) Ant Design Vue の統合

目次1. Ant Design Vueを統合する2. コンポーネントの使用1. 完全な引用2. コン...

nginxリバースプロキシwebSocket設定の詳細な説明

最近、プロジェクトで作業しているときに webSocket プロトコルを使用し、WeChat アプレ...

Alibaba Cloud Centos 7.5 に MySQL をインストールするチュートリアル

CentOS 7 の yum ソースには、MySQL を正常にインストールするための mysql-s...

純粋な CSS カスタム複数行省略記号の問題 (原理から実装まで)

テキストオーバーフローを表示するにはどうすればいいですか? どのようなニーズがありますか?単一行です...

JavaScript での正規表現の使用について詳しく学ぶ

目次1. 正規表現とは何か1. 正規表現の特徴2. 正規表現の使用2. 正規表現における特殊文字1....

MySQLの自己接続と結合の詳細な理解

1. MySQL 自己接続MySQL では、情報を照会するときに自分自身に接続 (自己接続) する必...

JavaScript - Vue でのスロットの使用: スロット

目次Vue でのスロットの使用: slotスコープ付きスロット: テンプレートタグで囲む要約するVu...

マークアップ言語 - HTML を学んだ後に何を学ぶべきか?

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

選択にスタイルを追加するための純粋な CSS (スクリプトなし) 実装

通常は ul、li を介して選択のデフォルト スタイルを変更して、実現をシミュレートします。このよう...

TypeScript 学習ノート: 型の絞り込み

目次序文型推論真理値の絞り込み平等の縮小演算子の絞り込みインスタンスの絞り込み狭まりの本質ユニオン型...

Vue3 ドキュメント クイックスタート

目次1. セットアップ1. セットアップ関数の最初のパラメータ - props 2. 文脈2. セッ...