Angularjs没有正确绑定到空数组

Angularjs not correctly binding to an empty array

本文关键字:数组 绑定 Angularjs      更新时间:2023-09-26

我正在编写一个小的angular应用程序,以调查它将来是否值得使用,到目前为止,我真的很喜欢用它开发是多么容易。

我遇到了一个障碍。我有两个数据模型,一个工厂列表和一个工厂产品列表。

当一个新工厂从列表中添加或删除时,产品将被计算,并且在大多数情况下,直到您从列表中删除最后一个工厂之前,这一切都很好。我希望产品绑定到的表像工厂列表一样为空,因为它的底层数组变为空,但最后一项保留。

我没办法展示这个但我已经把应用上传到azure网站了代码在git上关键文件是app/view/complex和app/scripts/complex .js

如果您能给予任何帮助,我将不胜感激

问题似乎在这里:

angular.extend(this.complexProduct, itemsProduced);

你不应该用数组来扩展数组。Extend适用于对象。用空数组扩展数组的结果将最终返回原始数组。

var x = [1, 2, 3];
angular.extend(x, []);
console.log(x); //1, 2, 3

试试这个:

$scope.complexProduct = itemsProduced;

(我更喜欢$scope,因为它更具体,IMO更容易遵循)