[編成と共有] Vue 親コンポーネントが子コンポーネントを呼び出すための一般的なメソッドとテクニック

PHPz
リリース: 2023-04-12 09:55:21
オリジナル
15492 人が閲覧しました

Vue 開発では、通常、親コンポーネントで子コンポーネントを呼び出す必要がある状況に遭遇します。この場合、このタスクを正しく完了するには、いくつかの基本的な知識ポイントを習得する必要があります。

この記事では、Vue の親コンポーネントが子コンポーネントを呼び出す機能を実装するための一般的なメソッドとテクニックをいくつか紹介します。

1. $refs を使用する

Vue では、各コンポーネントに独自の $refs 属性があり、コンポーネントのインスタンス オブジェクトを取得できます。したがって、親コンポーネントの $refs 属性を通じてサブコンポーネントのインスタンス オブジェクトを取得し、それによってサブコンポーネントのメソッドを呼び出したり、サブコンポーネントのプロパティにアクセスしたりできます。

これは、$refs を使用して子コンポーネントを呼び出す方法を示す簡単な例です:

 
ログイン後にコピー

上の例では、親コンポーネント "##" でref="child を使用しています。 #子コンポーネントのインスタンス オブジェクトを取得し、子コンポーネントのメソッドchildMethod()を呼び出します。

子コンポーネントが

v-forを通じて動的に作成される場合、親コンポーネントの$refsを通じてアクセスされるのは配列であることに注意してください。対応するサブコンポーネント インスタンスはインデックスに基づいて選択する必要があります。

2. イベントの使用

Vue では、親コンポーネントは

$emitメソッドを通じて子コンポーネントのイベントをトリガーできます。子コンポーネントは、これらのイベントをリッスンすることで親コンポーネントと通信できます。

イベントを使用して親コンポーネントと子コンポーネント間で通信する方法を示す簡単な例を次に示します。

// 子组件   // 父组件  
ログイン後にコピー
上の例では、子コンポーネントは

this.$emit ('my -event', 'hello')は、my-eventという名前のイベントをトリガーし、データhelloを渡します。親コンポーネントは、子コンポーネントに@my-event="handleChildEvent"を追加することでイベントをリッスンし、イベント データを独自のメソッドhandleChildEvent(data)に渡します。

さらに、子コンポーネントで

propsプロパティを宣言し、親コンポーネントにデータを渡すことで、詳細なデータ転送を実現することもできます。

3. $parent を使用する

場合によっては、子コンポーネントで独自の親コンポーネント インスタンス オブジェクトを取得する必要がある場合があります。子コンポーネントでは

$ を使用できます。プロパティを使用して、親コンポーネントのインスタンス オブジェクトを取得します。

次は、$parent を使用して親コンポーネントのインスタンス オブジェクトを取得する方法を示す簡単な例です:

// 子组件   // 父组件  
ログイン後にコピー
上の例では、子コンポーネントは

に渡されます。 computed属性でthis.$parent.messageを使用して、親コンポーネントのデータmessageを取得します。

なお、コンポーネントレベルのネストが深すぎる場合、

$parentを使用するとコードの可読性が低下する可能性があるため、実際の開発では避ける必要があります。ネストレベルが深い。

概要

Vue では、親コンポーネントが子コンポーネントを呼び出すことは非常に一般的な操作であり、$refs、events を使用して親コンポーネントと子コンポーネント間の通信を実現できます。そして $parent 。さらに、依存関係注入や vuex などのテクノロジを使用するなど、さまざまな開発ニーズを満たすための方法が他にもたくさんあります。

以上が[編成と共有] Vue 親コンポーネントが子コンポーネントを呼び出すための一般的なメソッドとテクニックの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!