1
我有兩個Vue組件。該parent-component
:VueJS的親子溝通
Vue.component('parent-component',{
methods: {
test: function(){
alert('Option Selected');
}
},
template: `
<div><slot></slot></div>
`
});
而且animals
組件:
Vue.component('animals',{
data: function(){
return {
selected: ''
}
},
template: `
<select @change="selectionChanged" v-model="selected">
<slot></slot>
</select>
`,
methods: {
selectionChanged: function(){
this.$emit('optionselected', this.selected);
}
}
});
這裏是我的HTML:
<div id="app">
<parent-component @optionselected="test()">
<animals>
<option>Aardvark</option>
<option>Bear</option>
<option>Cat</option>
</animals>
</parent-component>
</div>
我想從子組件(animals
)所選擇的選項父組件(parent-component
)。我從孩子中發出optionselected
事件,但它看起來像父組件沒有響應該事件,我的意思是方法test()根本沒有被調用。我在這裏做錯了什麼?
感謝。但是,如何在事件發射期間接收從'animals'傳遞給'parent-component'的'this.selected'屬性:'this。$ emit('optionselected',this.selected);' – Eisenheim
@Eisenheim You正在通過它。你只是沒有做任何事情。我更新了警報以顯示選定的值。 – Bert