ホームページ ウェブフロントエンド jsチュートリアル vue親コンポーネントを操作して子コンポーネントを呼び出す方法

vue親コンポーネントを操作して子コンポーネントを呼び出す方法

May 26, 2018 am 10:48 AM
操作する コンポーネント 移行

今回はvueの親コンポーネントを操作して子コンポーネントを呼び出す方法を紹介します。 vueの親コンポーネントを使って子コンポーネントを呼び出す際の注意点は何ですか? 以下は実際のケースですので見てみましょう。

シナリオ:

Uploadattachments のサブコンポーネントが親コンポーネントに導入されます: コンポーネントをクリックして対応する画像をそれぞれアップロードすると、サブコンポーネントの内部ループで複数のモジュールを作成できます

親コンポーネントは配列の子を渡します コンポーネントはループしてさまざまなコンポーネント モジュールを作成し、すべての

イベント は子コンポーネント内にあります

親コンポーネントの上部には画像のアップロード ボタンもあります。画像をアップロードすると、最初のモジュールに画像が表示されます:

アイデア: 親コンポーネントのボタンをクリックして、子コンポーネントのアップロード メソッドをトリガーします:

呼び出す子コンポーネントで

を定義します。子コンポーネントのメソッドref="refName",父组件的方法中用this.$refs.refName.method

子コンポーネントでアップロードを処理するメソッド:

 fileClick(index) {
   console.log('子组件的fileClick被调用了')
   console.log('index:  '+index)
   // this.aaa();
   if(!this.fileInfor[index].imgUrl){
   //如果当前框里没有图片,则实现上传
   document.getElementsByClassName('upload_file')[index].click();
  }    
},
ログイン後にコピー
親コンポーネントのテンプレート

<template>
  <x-button type="submit" class="custom-primary" @click.native="xiechengUpload">上传图片</x-button>
  <up-load :fileInformation="fileInformation" ref="uploadRef"></up-load>
</template>
ログイン後にコピー
親コンポーネント メソッドでメソッドを定義し、対応するインデックス値を渡します。

Upload(){
  // console.log('父组件的xiechengUpload被调用了')
  this.$refs.uploadRef.fileClick(0);
},
ログイン後にコピー
このとき、アップロード ボタンを使用して、サブコンポーネントの最初のモジュールに画像を挿入します。

サブコンポーネントのイベントを呼び出す Vue 親コンポーネントを見てみましょう

Vue 親コンポーネントは、子コンポーネントにイベントを渡したり、イベントを呼び出したりします

データ (props) の受け渡しについてではなく、Vue 2.0 に適用できます

方法 1: 子コンポーネントは親コンポーネントによって送信されたメソッドをリッスンします

方法 2: 親コンポーネントがサブコンポーネントのメソッドを呼び出す

サブコンポーネント:

export default {
  mounted: function () {
   this.$nextTick(function () {
    this.$on('childMethod', function () {
     console.log('监听成功')
    })
   })
  },
  methods {
    callMethod () {
     console.log('调用成功')
    }
  }
}
ログイン後にコピー
Parentコンポーネント:

<child ref="child" @click="click"></child>
export default {
  methods: {
   click () {
   this.$refs.child.$emit('childMethod') // 方法1
   this.$refs.child.callMethod() // 方法2
  },
  components: {
   child: child
  }
}
ログイン後にコピー
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、PHP 中国語 Web サイトの他の関連記事に注目してください。

推奨書籍:

vue で diff アルゴリズムを使用する方法

JavaScript EventEmitter の基礎となるロジック分析

以上がvue親コンポーネントを操作して子コンポーネントを呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows 10 旧バージョンコンポーネント DirectPlay のインストール方法 Windows 10 旧バージョンコンポーネント DirectPlay のインストール方法 Dec 28, 2023 pm 03:43 PM

Windows 10 旧バージョンコンポーネント DirectPlay のインストール方法

PyCharm の使用法チュートリアル: 操作の実行方法を詳しく説明します PyCharm の使用法チュートリアル: 操作の実行方法を詳しく説明します Feb 26, 2024 pm 05:51 PM

PyCharm の使用法チュートリアル: 操作の実行方法を詳しく説明します

sudo とは何ですか?なぜ重要ですか? sudo とは何ですか?なぜ重要ですか? Feb 21, 2024 pm 07:01 PM

sudo とは何ですか?なぜ重要ですか?

Linux Deployの操作手順と注意事項 Linux Deployの操作手順と注意事項 Mar 14, 2024 pm 03:03 PM

Linux Deployの操作手順と注意事項

Win10 起動パスワードの F2 キーを押すのを忘れた場合の対処方法 Win10 起動パスワードの F2 キーを押すのを忘れた場合の対処方法 Feb 28, 2024 am 08:31 AM

Win10 起動パスワードの F2 キーを押すのを忘れた場合の対処方法

Angular コンポーネントとその表示プロパティ: 非ブロックのデフォルト値について Angular コンポーネントとその表示プロパティ: 非ブロックのデフォルト値について Mar 15, 2024 pm 04:51 PM

Angular コンポーネントとその表示プロパティ: 非ブロックのデフォルト値について

Huawei Mate60 Proのスクリーンショット操作手順の共有 Huawei Mate60 Proのスクリーンショット操作手順の共有 Mar 23, 2024 am 11:15 AM

Huawei Mate60 Proのスクリーンショット操作手順の共有

一般的な PHP 組み込みオブジェクトの使い方を学ぶ: 組み込みオブジェクトの操作と使用法をマスターする 一般的な PHP 組み込みオブジェクトの使い方を学ぶ: 組み込みオブジェクトの操作と使用法をマスターする Jan 10, 2024 am 10:02 AM

一般的な PHP 組み込みオブジェクトの使い方を学ぶ: 組み込みオブジェクトの操作と使用法をマスターする

See all articles