Vue.js 重置数据类型时出现Vuejs错误:无法读取属性';名称';未定义的

Vue.js 重置数据类型时出现Vuejs错误:无法读取属性';名称';未定义的,vue.js,vuejs2,Vue.js,Vuejs2,我正在尝试将数据变量清空回原始状态,如下所示: export default { data: function () { return { countries: [], name: '', summary: '', salarytype: '', salaryfrom: '', salaryto: '',

我正在尝试将数据变量清空回原始状态,如下所示:

export default
{
    data: function () 
    {
        return {
            countries: [],
            name: '',
            summary: '',
            salarytype: '',
            salaryfrom: '',
            salaryto: '',
            location: '',
            contactemail: '',
            contactphone: '',
            errors: new Errors()
        }
    },

    methods: 
    {
        addJob: function()
        {
            axios.post('/jobs/create', this.$data)
            .then(response => {
                if(response.data.status === true){
                    resetFields();
                    $('#createJob').modal('hide');
                    getJobTable();
                }
                else{
                    formError = response.data.message;
                }
            })
            .catch(error => this.errors.record(error.data))
        },
        resetFields: function() {
            Object.assign(this.$data, this.$options.data.call(this));
        }
    },

    mounted: function()
    {
        axios.get('/countries')
            .then(response => {
                this.countries = response.data;
            })
    }
}

执行此操作时,我会收到一个错误信息,即:

app.js:34533 TypeError: Cannot read property 'name' of undefined
    at Errors.get (app.js:12209)
    at Proxy.render (app.js:33512)
    at VueComponent.Vue._render (app.js:36314)
    at VueComponent.updateComponent (app.js:36707)
    at Watcher.get (app.js:37032)
    at Watcher.run (app.js:37101)
    at flushSchedulerQueue (app.js:36905)
    at Array.<anonymous> (app.js:34571)
    at nextTickHandler (app.js:34520)
    at <anonymous>
app.js:34533类型错误:无法读取未定义的属性“name”
at Errors.get(app.js:12209)
位于Proxy.render(app.js:33512)
在VueComponent.Vue._render(app.js:36314)
位于VueComponent.updateComponent(app.js:36707)
在Watcher.get(app.js:37032)
在Watcher.run(app.js:37101)
在flushSchedulerQueue(app.js:36905)
在阵列上。(附录js:34571)
在nextTickHandler(app.js:34520)
在
我已经检查了重置数据值的堆栈,它建议按照上面的方式执行,但这会抛出错误。如何修复此问题,以便重置数据

if(response.data.status === true){
  resetFields();
应该是这样的

 if(response.data.status === true){
  this.resetFields();
如果要按该名称运行组件方法

您是否也在组件定义之外定义了该名称的函数?或者这在您的示例中是一个输入错误?

添加这个。resetFields()有效。非常感谢,先生