序文Vue の親子コンポーネントは、props を通じて親コンポーネントの値を子コンポーネントに簡単に渡すことができます。コンポーネントが多くのレイヤーにネストされている場合、各レイヤーは同じ props を使用して値を渡す必要があり、これは面倒でメンテナンスが困難です。 例[例] コンポーネント A はコンポーネント B を使用し、コンポーネント B はコンポーネント C を使用します。コンポーネント C は、コンポーネント A のデータ テキストとコンポーネント A のメソッド getmethod を使用する必要があります。コンポーネント A のコードは次のとおりです。 <テンプレート> <div> <P>これはコンポーネント A です</P> <v-コーム></v-コーム> </div> </テンプレート> <スクリプト> '@/view/comB.vue' から comB をインポートします。 エクスポートデフォルト{ 名前: 'comA', コンポーネント: 'v-comb': comB }, データ() { 戻る { メッセージ: '私はコンポーネント A のデータです' } }, provide: function() { //子コンポーネントにプロパティとメソッドを挿入する return { テキスト: this.msg、 getメソッド: 関数() { console.log('ルートコンポーネントでgetMethodメソッドを実行します') } } } } </スクリプト> キーワードprovideを使用して、子コンポーネントにデータとメソッドを公開します。 <テンプレート> <div> <div> <P>これはコンポーネント B です</P> <v-comc></v-comc> </div> </div> </テンプレート> <スクリプト> '@/view/comC.vue' から comC をインポートします。 エクスポートデフォルト{ 名前: 'comB', コンポーネント: 'v-comc': comC } } </スクリプト> コンポーネント C はコンポーネント A の孫です。コンポーネント C はコンポーネント A のデータとメソッドを使用する必要があります。コードは次のとおりです。 <テンプレート> <div style="border:1px solid orange;color:orange;"> <div> <P>これは C コンポーネントです</P> <div>{{テキスト}}</div> <button @click="getMethod">親コンポーネントメソッドを呼び出す</button> </div> </div> </テンプレート> <スクリプト> エクスポートデフォルト{ 名前: 'comC', inject: ['text', 'getMethod'] //text と getMethod はプロバイダーによって提供される名前です} </スクリプト> ここで、inject キーワードは、コンポーネント A によって公開される情報を受け取るために使用されます。inject: [] で受け取る名前は、provide によって提供される名前とまったく同じである必要があることに特に注意してください。 実行すると、インターフェースは以下のようになります。 まとめ複数レベルのネストされたコンポーネント通信の場合、Vue は provide および inject キーワードを使用して親コンポーネントから子コンポーネントに値を直接転送するため、非常に便利です。問題のあるサブコンポーネントと親コンポーネントの間には強い結合関係があるため、絶対に必要な場合を除き、使用することはお勧めしません。 上記は、Vue フロントエンド開発における階層的にネストされたコンポーネントの通信の詳細な説明の詳細な内容です。Vue における階層的にネストされたコンポーネントの通信の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: Docker 構成 Alibaba Cloud イメージアクセラレーション プル実装
マスターのメソッドによると、原因は sysctl net.ipv4.ip_forward であること...
目次序文ブラウザJS非同期実行の原理ブラウザのイベントループ実行スタックとタスクキューマクロタスクと...
今日午後ずっと私を悩ませたバグを記録する半月前から始めましょう。それから.................
この記事では、mysql8.0.11クライアントがログインできない問題の解決策を紹介します。参考まで...
ミニネットMininet は軽量のソフトウェア定義ネットワークおよびテスト プラットフォームです。軽...
この例で開発されたカスケード ドロップダウン メニューは、既存の JSON データに基づいて作成され...
目次1 nginxの紹介1 nginxとは何か2 つのアプリケーション シナリオ2 nginxのイン...
<br />記事と同様に、Web ページにも明確な段落と重要度の異なるタイトルが必要です...
目次序文コンセプト安定意味使用シナリオコードVueでの使用スロットリング意味使用シナリオコードVue...
知識ポイント1: ヘッダー情報にWebページのベースURLを設定するベース URL の本質は、ハイパ...
目次1. MySQLの関数の説明2. 単行関数の分類3. キャラクター機能4. 数学関数5. 日付と...
CHAR 型と VARCHAR 型は似ていますが、主に格納場所、末尾のスペース、取得方法が異なります...
回転フリップ効果の CSS アニメーション、具体的な内容は次のとおりです。 1. まず2つのボックス...
背景先週、会社で MySQL レプリケーションのトレーニングを受けたので、今週末は学んだことを実践す...
なお、この記事では、単に 20.04 ソースに変更する方法を説明するのではなく、20.04 に基づい...