Angularjs没有正确绑定到空数组

时间:2013-04-12 14:07:00

标签: javascript angularjs

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

然而,我遇到了麻烦。我有两个数据模型,一个工厂列表和一个工厂产品列表。

产品是在列表中添加或删除新工厂时计算的,并且大多数情况下,这一工作正常,直到您从列表中删除最后一个工厂。我希望产品绑定的表,像工厂列表一样清空,因为底层数组变空,而是最后一项停留。

我没有显示这个小提示但是我已将应用程序上传到azure网站here,代码在git here上,关键文件是app / view / complex和app / scripts / Complex.js

非常感谢您提供的任何帮助

1 个答案:

答案 0 :(得分:3)

问题似乎在这里:

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更容易理解)