Javascript Can';t调用传递给子对象的窗体对象的方法
我正在尝试应用本教程,尽管我所做的并不完全相同: 我已成功地将表单对象传递给我的子组件。我可以毫无问题地引用表单对象的属性Javascript Can';t调用传递给子对象的窗体对象的方法,javascript,laravel,Javascript,Laravel,我正在尝试应用本教程,尽管我所做的并不完全相同: 我已成功地将表单对象传递给我的子组件。我可以毫无问题地引用表单对象的属性console.log(this.form)还返回显示表单对象内的方法,但调用this.form.$method()失败 这是我的根: const app = new Vue({ el: '#app', data: { form: new Form({ //form data }), }, });
console.log(this.form)
还返回显示表单对象内的方法,但调用this.form.$method()
失败
这是我的根:
const app = new Vue({
el: '#app',
data: {
form: new Form({
//form data
}),
},
});
这是在我的组件中,它在调用store时抛出一个未捕获类型错误:This.form.$post不是函数
:
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
});
}
}
您已将方法命名为
post
,并尝试使用$post
调用它
尝试更改:
this.form.$post(url);
致:
希望这有帮助 首先,
url
没有被传递,也没有在store()
方法中定义。我用实际方法手动输入url。不管怎样,我只是放弃了,直接导入了这个类。我认为vue更关心的是传递数据,而不是传递对象中的方法。
this.form.post(url);