v2.5.2
Giriş yap

Vue.js de emit i beklemek

selim
449 defa görüntülendi

Merhaba,

Vuejs de iki componentim var. Parent ve child. childde bir emit kullanıp parent componentinde servis çağırmak istiyorum. Bunu yapıyorum ancak birde child componentte parent taki servisin çalıp bitmesini beklemk istiyorum. Bunu yapabilir miyim ?

Child component:

this.$emit('triggerServices')
console.log(item)

Parent Component:

async triggerServices() {
      const _data = await this.fetchService()
      await this.getAllRulebooks(_data)
    },

Ben istiyorum ki triggerServices emit olduğunda alttaki iki servis çalışsın. Sonra child daki console.log çalışsın.

Cevap yaz
Cevaplar (2)
selim
1033 gün önce

@ilyasbilgihan cevabın için teşekkür ederim, denedim fakat olmadı. Bu tarz bi yapıyı daha öncede denemiştim. Farklı bir şekilde çözmeye çalışacam.

ilyasbilgihan
1036 gün önce
// Child
this.$emit('triggerServices', (res) => {
    console.log(res)
})
// Parent
async triggerServices(callback) {
  const _data = await this.fetchService()
  await this.getAllRulebooks(_data)
  callback("service fetched")
}

Yukarıdaki yöntemi dener misin?

Vue Emit Event