我尝试应用本教程,但我所做的并不完全相同:tutorial
我已成功将表单对象传递给我的子组件。我可以毫无问题地引用表单对象的属性。 console.log(this.form)
也返回显示表单对象内的方法,但调用this.form.$method()
失败。
这是我的根:
const app = new Vue({
el: '#app',
data: {
form: new Form({
//form data
}),
},
});
这是在我的组件中,在调用store时会抛出Uncaught TypeError: this.form.$post is not a function
:
export default {
props: [
'form',
],
methods: {
store() {
this.form.$post(url);
},
},
}
这是我的表单助手类:
class Form {
post(url) {
return this.$http.post(url, {
//form data
}).then((response) => {
//success
}, (error) => {
//error
});
}
}
答案 0 :(得分:0)
您已将方法命名为post
,并且您尝试使用$post
进行调用。
尝试更改:
this.form.$post(url);
为:
this.form.post(url);
希望这有帮助!