无法调用传递给子节点的表单对象的方法

时间:2017-01-02 09:47:59

标签: javascript laravel

我尝试应用本教程,但我所做的并不完全相同: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
        });
    }
}

1 个答案:

答案 0 :(得分:0)

您已将方法命名为post,并且您尝试使用$post进行调用。

尝试更改:

this.form.$post(url);

为:

this.form.post(url);

希望这有帮助!