В потомке подписываемся на некое событие через $parent.$on('some-event')
.
В родителе емитим это событие.
<div id="app">
<my-component></my-component>
<button @click="click">Click</button>
</div>
var Child = {
template: '<div>{{value}}</div>',
data: function () {
return {
value: 0
};
},
methods: {
setValue: function(value) {
this.value = value;
}
},
created: function() {
this.$parent.$on('update', this.setValue);
}
}
new Vue({
el: '#app',
components: {
'my-component': Child
},
methods: {
click: function() {
this.$emit('update', 7);
}
}
})
спасибо, работает!