TypeError:无法读取 Vue.js 中 foreach 内未定义的属性“详细信息”
Posted
技术标签:
【中文标题】TypeError:无法读取 Vue.js 中 foreach 内未定义的属性“详细信息”【英文标题】:TypeError: Cannot read property 'details' of undefined inside foreach in Vue.js 【发布时间】:2021-02-17 03:51:42 【问题描述】:我正在尝试在 foreach 循环中使用此运算符设置值
$.each(this.form.details,(key,value)=>
$.each(this.form.details,(key1,value1)=>
this.form.details[key].total=76776;
);
);
form: new Form(
details : [
name:'',
])
);
但收到此错误:
TypeError: 无法读取未定义的属性“详细信息”
请提出解决此问题的任何解决方案。
【问题讨论】:
应该是$.each(data.details,(key,value)=>...
您的form
是在data()
选项中定义的?
这对***.com/a/53730095/8172857有帮助吗?
@BoussadjraBrahim:是的,表单在数据内部
请分享包含该循环的代码
【参考方案1】:
您的内部循环不是必需的,错误来自那里,您的内部循环使用运算符 this 引用第一个循环的上下文,该上下文不包含其中声明的任何形式。 所以你必须做到以下几点
$.each(this.form.details,(key,value)=>
this.form.details[key].total=76776;
);
form: new Form(
details : [
name:'',
])
);
或者如果您需要第二个循环,请尝试以下操作
var self = this;
$.each(this.form.details,(key,value)=>
$.each(self.form.details,(key1,value1)=>
this.form.details[key].total=76776;
);
);
form: new Form(
details : [
name:'',
])
);
【讨论】:
以上是关于TypeError:无法读取 Vue.js 中 foreach 内未定义的属性“详细信息”的主要内容,如果未能解决你的问题,请参考以下文章
Vue.js:TypeError:无法读取未定义的属性“$router”?
TypeError:无法读取未定义的 vue-resource.js:284 的属性“替换”
TypeError:无法读取未定义的 vue js 的属性“get”