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

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

php中世界最好的语言
php中世界最好的语言オリジナル
2018-05-26 10:48:591150ブラウズ

今回は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 までご連絡ください。