ホームページ > ウェブフロントエンド > Vue.js > vue の $on メソッドの詳細な例

vue の $on メソッドの詳細な例

PHPz
リリース: 2023-04-13 10:35:28
オリジナル
3020 人が閲覧しました

Vue.js は、複雑なユーザー インターフェイスやシングル ページ アプリケーションを簡単に構築するための豊富な API とツールを開発者に提供する進歩的なフロントエンド フレームワークです。非常に便利なメソッドの 1 つは $on メソッドです。これについては、この記事で詳しく説明し、実演します。

$on メソッドは、Vue オブジェクトのインスタンス メソッドです。主に、Vue インスタンスのカスタム イベントをリッスンするために使用されます。カスタム イベントがトリガーされると、コールバック関数を実行して、イベントに応答できます。イベント。 $on メソッドの構文は次のとおりです。

vm.$on(event, callback)
ログイン後にコピー

このうち、vm は Vue インスタンスを表し、event は監視対象のカスタム イベント名を表し、callback はイベントがトリガーされたときに実行されるコールバック関数を表します。 。

たとえば、以下に示すように、Vue インスタンスを作成し、そのインスタンス上で「test」という名前のカスタム イベントをリッスンします。

var vm = new Vue();
vm.$on("test", function () {
  console.log("test事件被触发了!");
});
ログイン後にコピー

この例では、$on を使用します。 Vue インスタンスのメソッドを使用して、「test」カスタム イベントをリッスンし、コールバック関数として匿名関数を使用します。この関数は、「test」イベントがトリガーされたときに実行されます。

次に、カスタム イベントをトリガーする方法を見てみましょう。 $emit メソッドを使用して、次のようにカスタム イベントをトリガーできます。

vm.$emit("test");
ログイン後にコピー

この例では、$emit メソッドを使用して、「test」という名前のカスタム イベントをトリガーします。 $emit メソッドを呼び出すと、$on メソッドで定義されたコールバック関数が実行され、「テスト イベントがトリガーされました!」というメッセージが出力されます。

$emit メソッドに加えて、$dispatch メソッドや $broadcast メソッドなど、カスタム イベントをトリガーするために使用できるメソッドがいくつかあります。ここでは物語は与えられません。

$on メソッドに登録されたコールバック関数はすぐには実行されないことに注意してください。このイベントがトリガーされると、Vue インスタンスは登録されているすべてのコールバック関数を順番に呼び出します。 $on メソッドの直後に $emit メソッドが呼び出された場合、イベントがリッスンされていないため、コールバック関数が実行されない可能性があります。

$on メソッドを使用する場合、以下に示すように、オプションのパラメーターを渡してコールバック関数の実行コンテキストを指定することもできます。

vm.$on("test", function () {
  console.log(this.message);
}, { message: "Hello World!" });
ログイン後にコピー

この例では、オブジェクトを使用して、実行コンテキストパラメータを渡します。明らかに、コールバック関数では、this.message は「Hello World!」文字列を指します。この機能により、コールバック関数がより柔軟で適応可能になります。

最後に、$on メソッドは現在の Vue インスタンスのカスタム イベントのみを監視し、他のインスタンスには影響しないことに注意してください。複数のインスタンス間でカスタム イベントを共有する場合は、Vue インスタンスのイベント バス メカニズムの使用を検討してください。

つまり、$on メソッドは Vue.js フレームワークにおける非常に重要かつ実用的なメソッドです。この方法を利用することで、様々なカスタムイベントの監視や応答を簡単に実装することができます。

以上がvue の $on メソッドの詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート