【发布时间】:2019-10-29 14:21:34
【问题描述】:
我在Vue中注册了一个子组件,子组件会发出自定义事件,但是父组件的监听器没有触发。
<template id="add-item-template">
<div class="input-group">
<input @keyup.enter="addItem" v-model="newItem" >
<span class="input-group-btn">
<button @click="addItem" type="button">Add!</button>
</span>
</div>
</template>
<div id="app" class="container">
<h2>{{ title }}</h2>
<add-item-component v-on:itemAdd="addAItem"></add-item-component>
</div>
Vue.component('add-item-component', {
template: '#add-item-template',
data: function () {
return {
newItem: ''
};
},
methods: {
addItem() {
this.$emit('itemAdd');
console.log("itemAdd In add-item-component");
}
}
});
new Vue({
el: '#app',
data: {
title: 'Welcome to Vue'
},
methods: {
addAItem: function () {
console.log("In #app, addAItem()!");
}
}
});
“itemAdd In add-item-component”日志显示在控制台中,但“在#app 中,addAItem()!”不记录,#app 的方法 addAItem 没有被调用。
【问题讨论】:
标签: javascript vue.js vuejs2