0
我有2个组件,一个用于'创建表单',另一个用于'编辑表单'。
我正在使用'编辑表单'内的'创建表单'。一切运作良好,除了我的提交方法。
我希望覆盖“创建表单”的提交事件,但它总是被首先调用。
是否有可能和我想要做的正确方法?这里也是与我想实现一个小提琴:
https://jsfiddle.net/DarkFruits/197wndq9/1/覆盖子组件的提交事件
HTML
<template id="form-create">
<form @submit.self.prevent="raiseSubmit">
<button type="submit">SUBMIT</button>
</form>
</template>
<template id="form-edit">
<form-create v-bind:user="myUser" @submit.stop.capture.prevent="raiseSubmit" ></form-create>
</template>
<div id="app">
<form-edit></form-edit>
</div>
JS
Vue.component('form-create', {
template: '#form-create',
props: {
user: {
default: {
username: '',
email: '',
}
}
},
methods: {
raiseSubmit() {
console.log("I do not want Create submit to be called");
}
}
})
Vue.component('form-edit', {
template: '#form-edit',
data() {
return {
myUser: {
username: 'max',
email: '[email protected]'
}
}
},
methods: {
raiseSubmit() {
console.log("I want Edit submit to be called");
}
}
})
new Vue({
el: '#app',
data() {
return {}
}
})
噢,你是对的。我应该知道我不能听我孩子的事件。 >。< 谢谢! –