Oui!
Il est possible d'appeler une méthode parent d'un enfant et c'est très facile.
Chaque Vue composant définir la propriété $parent
. À partir de cette propriété, vous pouvez appeler n'importe quelle méthode qui existent dans le parent.
Voici un JSFiddle qui fait : https://jsfiddle.net/50qt9ce3/1/
<script src="https://unpkg.com/vue"></script>
<template id="child-template">
<span @click="someMethod">Click me!</span>
</template>
<div id="app">
<child></child>
</div>
<script>
Vue.component('child', {
template: '#child-template',
methods: {
someMethod(){
this.$parent.someMethod();
}
}
});
var app = new Vue({
el: '#app',
methods: {
someMethod(){
alert('parent');
}
}
});
</script>
Remarque: bien qu'il n'est pas recommandé de faire ce genre de chose quand vous construisez déconnecté de composants réutilisables, parfois nous sommes associés au bâtiment non-composant réutilisable et dans ce cas, il est très pratique.