<root>
<my-button @click="save()"/>
<my-form/>
</root>
my-form.vue
methods:{
save(){}
}
Comment appeler sauver() de ma forme via my-bouton?méthode de frères et soeurs d'appel Vue
<root>
<my-button @click="save()"/>
<my-form/>
</root>
my-form.vue
methods:{
save(){}
}
Comment appeler sauver() de ma forme via my-bouton?méthode de frères et soeurs d'appel Vue
Vous pouvez utiliser un bus d'événements:
let EventBus = new Vue();
let MyButton= Vue.extend({
name: "my-button",
props: ["what"],
template: `
<button class="btn btn-md btn-success the-button" @click="save()">Sender: {{what}}</button>
`,
methods: {
save: function(){
EventBus.$emit("form.save", //pass payload here);
}
}
});
Vue.component("my-button", MyButton);
***my-form.vue:****
created(){
EventBus.$on('form.save', (payload)=>{
this.save(payload)
});
},
methods:{
save(payload) {}
}
échantillon de travail complet: https://jsfiddle.net/arvidkahl/gxdn6ycv/17/
si les frères et sœurs ont aussi une relation parent-enfant? –
Peu importe, tant que vous utilisez le même EventBus, ils écoutent tous les mêmes événements – Tomer
Émettre et écouter les événements, ou utiliser Vuex. https://vuejs.org/v2/guide/components.html#Non-Parent-Child-Communication – ceejayoz