Maison >interface Web >js tutoriel >Partager des exemples de 4 méthodes de communication des composants Vue
Cet article partage principalement avec vous quatre méthodes de communication des composants Vue : la communication entre les composants parents et enfants, la communication eventBus entre les composants non parents et enfants, la communication des composants utilisant le cache local et la communication Vuex. J'espère que cela aide tout le monde.
La première méthode de communication : communication du composant parent-enfant
Le composant parent doit faire un total de 4 choses Things
1.import son from './son.js' Enregistrez tous les noms de sous-composants dans "son"}
3. Appliquez le sous-composant dans le modèle du composant parent,
4 Si vous devez transmettre des données. au sous-composant, écrivez
dans le modèle > Les données peuvent être utilisées directement
// 1.引入子组件 import counter from './counter' import son from './son'
// 2.在ccmponents里注册子组件 components : { counter, son },
// 3.在template里使用子组件 <son></son>
// 4.如果需要传递数据,也是在templete里写 <counter :num="number"></counter>Données
Écrire une fonction dans les méthodes et écouter l'événement déclencheur du sous-composant
// 1.用Props接受数据 props: [ 'num' ],🎜>
// 2.如果需要修改得到的数据,可以这样写 props: [ 'num' ], data () { return { number : this.num } },
// 1. 在templete里应用子组件时,定义事件changeNumber <counter :num="number" @changeNumber="changeNumber" > </counter>1 Ajoutez l'attribut Bus au composant de l'application (afin que tous les composants puissent y accéder via this.$root.Bus, et il n'est pas nécessaire d'introduire de fichiers)
// 2. 用changeNumber监听事件是否触发 methods: { changeNumber(e){ console.log('子组件emit了',e); this.number = e }, }
2 Dans le composant 1, this.$root.Bus.$emit déclenche l'événement
// 1. 子组件在数据变化后,用$emit触发即可,第二个参数可以传递参数 methods: { increment(){ this.number++ this.$emit('changeNumber', this.number) }, }
La quatrième méthode de communication : utiliser Vuex
Vuex est plus compliquée, vous pouvez écrire un article séparé
Recommandations associées :Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!