<root>
<my-button @click="save()"/>
<my-form/>
</root>
my-form.vue
methods:{
save(){}
}
Wie Aufruf save() von my-Form über my-Taste?Vue Anruf Geschwister Methode
<root>
<my-button @click="save()"/>
<my-form/>
</root>
my-form.vue
methods:{
save(){}
}
Wie Aufruf save() von my-Form über my-Taste?Vue Anruf Geschwister Methode
Sie können ein Ereignis Bus benutzen:
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) {}
}
Vollarbeitsprobe: https://jsfiddle.net/arvidkahl/gxdn6ycv/17/
ob Geschwister auch eine Eltern-Kind-Beziehung haben? –
Es spielt keine Rolle, solange Sie den gleichen EventBus verwenden, hören alle auf dieselben Ereignisse – Tomer
Emit und auf Ereignisse hören, oder Vuex verwenden. https://vuejs.org/v2/guide/components.html#Non-Parent-Child-Communication – ceejayoz