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”

TypeError:无法读取未定义的属性“标题”

Vue Js - 无法读取未定义的属性 - (但它呈现在浏览器上)

渲染中的错误:“TypeError:无法读取未定义的属性'_t'”在使用 Jest 的单元测试中