开发者问题收集

在 vue.js 中查找数组长度时无法读取未定义的属性“length”

2020-10-30
151

我在 vue.js 中有这种数据结构

 data() {
     return {
      formData: new Form({
        files:[],
        Count:5,
        ..
  }

我正在尝试使用此代码获取长度:

 <div class="image-input" v-if="this.formData.files.length < this.formData.Count">

当我运行此代码时,我在控制台中收到此错误:

TypeError: Cannot read property 'length' of undefined

该错误在此行代码中,v-if="this.formData.files.length < this.formData.Count"

任何帮助都非常感谢。

2个回答

如果您确实想使用 Form 类,那么您需要为构造函数添加右括号和右括号,并为要返回的对象添加右括号(除非您想用 ... 来暗示所有这些 :-)

但通常在 Vue 数据中,我们只使用普通对象而不是类。所以我想知道您的意思是:

data() {
     return {
        formData:{
          files:[],
          Count:5,
          ..
         }
      }
  }
RonC
2020-11-03

避免在模板部分使用“this”运算符

<div class="image-input" v-if="formData.files.length < formData.Count">
Amaarockz
2020-11-06