有时您需要根据之前做出的一些选择在 html 中 ng-if 或 ng-show 项目。对我来说,其中之一是“附加项目”。您可以输入一组信息,如果需要,还可以输入一组附加信息。这将创建一个包含 2 个相似对象的数组。使用此设置,此数组中只能有 1 或 2 个对象。(重要,因为这个问题的范围需要以这种方式限制)
我想显示一个基于“myItemsArray.length > 1”的 html 指令。由于数组可以(读取应该)长度仅为 1 或 2(而不是 0),这应该可以工作。但是,它没有,因为 AngularJS 似乎正在向数组中添加一个项目“proto”,这会增加计数。看图片。
问题是,proto 使数组长度等于 2。我不会只寻找长度 > 2,因为我真的不知道我是否可以指望 proto 总是在那里,而且我只是认为这是不好的做法。
另外,我知道还有很多其他方法可以做到这一点(设置布尔值,或使用另一个 var 来指示等,但我真的只想处理数组中的项目数,因为“业务逻辑”..
编辑: 在做了一些调试之后,我看到我有一个“对象,未定义”的数组。这怎么可能:)
一些搜索使我想到了这一点。为什么我的数组中有些值是未定义的
编辑: 似乎使用删除可能会导致这个问题