recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Comment opérer sur les propriétés d'une instance à l'aide d'un bus d'événements?

Utilisation d'un bus d'événements pour la communication entre composants frères et sœurs,

C'est l'un des composants : qdb_list

clickChange:function(obj){
      Bus.$emit('change',obj);
      this.$router.push({path:'/qdb_change'});
    }

Une fois l'événement click déclenché, il passera au composant qdb_change

Voici son composant frère : qdb_change

import Bus from '../bus.js'
export default {
    name:'qdb_change',
    data:function(){
      return {
      newname:'',
      newstatus:'',
      newinstruction:'',
      text:'123456'
      }
    },
    created:function(){
      Bus.$on('change',obj=>{
      console.log(obj);
      this.newname=obj.qdb_name;   
      this.newstatus = obj.status;
      this.newinstruction = obj.instruction;
      });
    }
}

Toutes les opérations d'affectation aux attributs ici ne sont pas valides et le résultat est toujours une valeur vide. Comment puis-je la rendre efficace ?

De plus, chaque fois que vous cliquez sur le saut dans qdb_list pour la première fois, console.log(obj) ne sortira pas. Est-il possible que $on n'ait pas surveillé l'événement ?

Mais lorsque vous cliquez dessus pour la deuxième fois, deux console.log(obj) apparaîtront. Cela signifie-t-il que le nombre de déclencheurs de l'événement Bus.$emit('change',obj) continuera à s'accumuler ?

天蓬老师天蓬老师2827 Il y a quelques jours639

répondre à tous(2)je répondrai

  • 仅有的幸福

    仅有的幸福2017-05-19 10:30:29

    Vos deux composants sont différents et ne sont pas affichés en même temps, c'est-à-dire que l'un est créé et l'autre est détruit. Dans ce cas, le bus d'événements ne doit pas être utilisé, mais vuex doit être utilisé pour réaliser le partage de données des composants. Page qdb_list submit À l'époque, la page qdb_change n'a pas été créée ni exécutée. Comment pouvons-nous surveiller l'émission déclenchée ? Généralement, le mode observateur consiste à s'activer d'abord, puis à émettre

    .

    répondre
    0
  • PHPz

    PHPz2017-05-19 10:30:29

    Ces deux itinéraires ne sont-ils pas des composants frères

    répondre
    0
  • Annulerrépondre