ホームページ > 記事 > ウェブフロントエンド > Vue ドキュメントの値転送関数の手順の詳細な説明
Vue.js は人気のある JavaScript フレームワークであり、その利点の 1 つは強力なデータ バインディング機能です。 Vue.js では、データはコンポーネントを介して渡されます。異なるコンポーネント間でデータを渡すために、Vue.js は $emit や $on などの値を渡す関数をいくつか提供しています。この記事では、これらの関数を使用して値の転送を実装する方法について詳しく説明します。
Vue.js で開発する場合、通常は複数のコンポーネントを使用して連携して完全なアプリケーションを構築する必要があります。したがって、コンポーネント間の通信は非常に重要であり、さまざまな機能や相互作用の実装に役立ちます。 Vue.js では、コンポーネント間で通信する方法が 2 つあります。
<template> <div> <button @click="passData">传递数据</button> </div> </template>
<script> export default { methods: { passData() { this.$emit('get-data', 'Hello Vue') } } } </script>上記のコードでは、サブコンポーネントを定義し、その中にボタンを定義します。ボタンがクリックされると、passData メソッドがトリガーされます。このメソッドは、$emit() 関数を使用して、get という呼び出しをトリガーします。 -data イベントであり、文字列パラメーター Hello Vue を運びます。 ステップ 2: 親コンポーネントで v-on ディレクティブを使用して、子コンポーネントによってトリガーされたイベントをリッスンし、子コンポーネントによって渡されたパラメーターを受け取るハンドラー関数を定義します。
<template> <div> <child-component @get-data="getData"></child-component> <p>接收到子组件传递的数据:{{ data }}</p> </div> </template>
<script> import ChildComponent from './ChildComponent' export default { components: { ChildComponent }, data() { return { data: '' } }, methods: { getData(data) { this.data = data } } } </script>上記のコードでは、v-on 命令を使用して get-data という名前のイベントをリッスンします。サブコンポーネントがイベントをトリガーすると、getData という名前のメソッドが呼び出され、サブコンポーネントはパラメータになります。渡されたものはメソッドに渡されます。このメソッドでは、子コンポーネントから渡されたデータを親コンポーネントに表示するために、パラメーターを data 属性に割り当てます。
<template> <div> <child-component></child-component> <another-child-component></another-child-component> </div> </template>上記のコードでは、2 つの子コンポーネントを含む親コンポーネントを定義します。 ステップ 2: 子コンポーネントで $on() 関数を使用して、カスタム イベントをリッスンします。
<script> export default { created() { this.$root.$on('trigger-event', this.handleEvent) }, methods: { handleEvent() { console.log('Hello Vue!') } }, destroyed() { this.$root.$off('trigger-event', this.handleEvent) } } </script>上記のコードでは、サブコンポーネントの作成時に、作成されたフック関数を使用して、trigger-event という名前のイベントのリッスンを開始します。イベントがリッスンされると、イベントの処理に使用される handleEvent という名前のメソッドが呼び出されます。また、メモリ リークを避けるために子コンポーネントが破棄されたときに、破棄されたフック関数を使用してイベント リスナーを削除します。 ステップ 3: 別の子コンポーネントで $emit() 関数を使用して、イベントをトリガーします。
<script> export default { methods: { triggerEvent() { this.$root.$emit('trigger-event') } } } </script>上記のコードでは、サブコンポーネントを定義し、その中にボタンを定義します。ユーザーがボタンをクリックすると、triggerEvent メソッドが呼び出され、$emit() 関数を使用して、trigger-event という名前のイベントがトリガーされます。
以上がVue ドキュメントの値転送関数の手順の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。