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()有效。非常感谢,先生