У меня есть приложение vue, использующее:
компонент-родительский компонент, который состоит из компонента-ребенка
внутри компонента-родителя У меня есть кнопки, когда кто-то нажимает кнопку Я хочу выпустить событие, чтобы обработать vue и передать другому компоненту
Что я сделал до сих пор:
var vm = new Vue({
el: '#app',
methods:{
itemSelectedListener: function(item){
console.log('itemSelectedListener', item);
}
}
});
Vue.component('component-child', {
template: ' <span v-on:click="chooseItem(pty )" >Button </span>'
,
methods: {
chooseItem: function(pty){
console.log(pty);
this.$emit('itemSelected', {
'priority' : pty
});
}
}
});
Vue.component('component-parent', {
template: '<component-child v-for="q in items" ></component-child>'
});
HTML:
<component-parent v-on:itemSelected="itemSelectedListener" ></component-parent>
Он достигает моего console.log(pty); line, но кажется, что это. $ emit ('itemSelected' не пройдет:
console.log('itemSelectedListener', item); // это не будет вызвано...
подсказка?
должен ли я пузырить событие из child-> parent-> Vue-instance? (Я также пробовал это, но без успеха)