javascript - Un composant enfant déclenche un événement personnalisé du composant parent, mais le composant parent ne répond pas.
大家讲道理
大家讲道理 2017-07-05 11:03:26
0
3
980

Ce qui suit est un sous-composant @change='showChange' est un événement de sous-composant
Le modèle suivant est enregistré en tant que composant de type commande

<template>
<select name="dType" class="form-control" v-el:select @change='showChange'>
      <option value="" v-if="type=='selectAll'">全部</option>
      <option v-for="branch in branchList" :value="branch.id" track-by="$index">
        {{branch.name}}
      </option>
  </select>
</template>

Les méthodes suivantes sont des sous-composants :

        showChange(event) {
            for (let branch of this.branchList) {
                if (branch['id'] === event.target.value) {
                    this.$emit('showChange',branch['prefix']);
                }
            }

Ce qui suit est le composant parent

<order-type @showChange='alert(2)'></order-type>        

Mais alert(2) n'est pas exécuté

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

répondre à tous(3)
女神的闺蜜爱上我

Vous venez de l'écrire comme ça, n'est-ce pas ?

<order-type @showChange='alertFun'></order-type>     
父组件有一个方法
methods: {
    alertFun () {
        alert(2)
    }
}

Ce qui doit être transmis ici est un nom de fonction de la méthode du composant parent au lieu d'écrire directement alert(2)
女神的闺蜜爱上我

Cela devrait être le problème
<option v-for="branch in branchList" :value="branch.id" track-by="$index">
La boucle for in object obtient l'index, pas la valeur, donc branch.id ne peut pas être obtenu, il peut être modifié en for of

伊谢尔伦

Ce qui suit est un sous-composant @change='showChange' est un événement de sous-composant
Le modèle suivant est enregistré en tant que composant de type commande

<template>
<select name="dType" class="form-control" v-el:select @change:parentChage='showChange'>

  <option value="" v-if="type=='selectAll'">全部</option>
  <option v-for="branch in branchList" :value="branch.id" track-by="$index">
    {{branch.name}}
  </option>

</select>
</template>

Les méthodes suivantes sont des sous-composants :

    showChange(event) {
        for (let branch of this.branchList) {
            if (branch['id'] === event.target.value) {
 /注意此行的修改/               this.$emit('parentChage',branch['prefix']);
            }
        }
        
        
        
以下是父组件
<order-type @showChange='alert(2)'></order-type>        
        
 但alert(2) 并未执行 
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!