Heim  >  Artikel  >  Web-Frontend  >  Implementierung gegenseitiger Aufrufe zwischen übergeordneten und untergeordneten Vue-Komponenten

Implementierung gegenseitiger Aufrufe zwischen übergeordneten und untergeordneten Vue-Komponenten

php中世界最好的语言
php中世界最好的语言Original
2018-05-11 13:40:091578Durchsuche

Dieses Mal werde ich Ihnen die Implementierung des gegenseitigen Aufrufs zwischen übergeordneten und untergeordneten Vue-Komponenten vorstellen. Was sind die Vorsichtsmaßnahmen für den gegenseitigen Aufruf zwischen übergeordneten und untergeordneten Vue-Komponenten? Schauen Sie mal rein.

Szenario:

Die übergeordnete Komponente führt die Unterkomponente von

Hochladen Anhang ein: Klicken Sie auf die Komponente, um sie hochzuladen Die entsprechenden Anforderungen bzw. Bilder, interne Schleifen von Unterkomponenten können mehrere Module erstellen.

Übergeordnete Komponenten werden in Arrays an Schleifen von Unterkomponenten übergeben, um verschiedene Komponentenmodule zu erstellen. Komponenten.

Es gibt auch eine Schaltfläche zum Hochladen von Bildern oben auf der übergeordneten Komponentenseite. Nach dem Hochladen des Bildes wird es im ersten Modul angezeigt:

Imagine Idea: Klicken Sie auf die Schaltfläche in der übergeordneten Komponente, um die Upload-Methode in der untergeordneten Komponente auszulösen:

Verwenden Sie

in der Methode der definierten übergeordneten Komponente auf der untergeordneten Komponente, um die Methode der untergeordneten Komponente aufzurufen

Methode der untergeordneten Komponente zum Verarbeiten des Uploads in: ref="refName",

 fileClick(index) {
   console.log('子组件的fileClick被调用了')
   console.log('index:  '+index)
   // this.aaa();
   if(!this.fileInfor[index].imgUrl){
   //如果当前框里没有图片,则实现上传
   document.getElementsByClassName('upload_file')[index].click();
  }    
},
this.$refs.refName.methodVorlage der übergeordneten Komponente
<template>
  <x-button type="submit" class="custom-primary" @click.native="xiechengUpload">上传图片</x-button>
  <up-load :fileInformation="fileInformation" ref="uploadRef"></up-load>
</template>

Definieren Sie die Methode in der Methode der übergeordneten Komponente und Übergeben Sie den entsprechenden Indexwert.

Upload(){
  // console.log('父组件的xiechengUpload被调用了')
  this.$refs.uploadRef.fileClick(0);
},

Zu diesem Zeitpunkt können Sie übergeben. Mit der Schaltfläche „Hochladen“ wird das Bild im ersten Modul der Unterkomponente platziert.

Lass uns Sehen Sie, wie die übergeordnete Vue-Komponente das Ereignis der Unterkomponente aufruft

Die übergeordnete Vue-Komponente übergibt Ereignisse/Aufrufereignisse an die untergeordnete Komponente , anstatt Daten (Requisiten) zu übergeben. . Gilt für Vue 2.0

Methode 1: Die untergeordnete Komponente hört auf die von der übergeordneten Komponente gesendete Methode

Methode 2: Die übergeordnete Komponente ruft die Methode der untergeordneten Komponente auf

Kind Komponente:

export default {
  mounted: function () {
   this.$nextTick(function () {
    this.$on('childMethod', function () {
     console.log('监听成功')
    })
   })
  },
  methods {
    callMethod () {
     console.log('调用成功')
    }
  }
}

Übergeordnete Komponente:

<child ref="child" @click="click"></child>
export default {
  methods: {
   click () {
   this.$refs.child.$emit('childMethod') // 方法1
   this.$refs.child.callMethod() // 方法2
  },
  components: {
   child: child
  }
}

Ich glaube, Sie haben die Methode gemeistert, nachdem Sie den Fall in diesem Artikel gelesen haben. Bitte beachten Sie auch andere verwandte Artikel auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Detaillierte Erläuterung der Schritte zur Implementierung des Bild- und Datei-Uploads in Vue

Axios sendet einen Beitrag Bitte um detaillierte Übermittlung eines Bildformulars

Das obige ist der detaillierte Inhalt vonImplementierung gegenseitiger Aufrufe zwischen übergeordneten und untergeordneten Vue-Komponenten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn