javascript - Angularjs 没有正确绑定(bind)到空数组

标签 javascript angularjs

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

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

产品是在列表中添加或删除新工厂时计算的,在大多数情况下,这工作正常,直到您从列表中删除最后一个工厂。我希望产品绑定(bind)到的表像工厂列表一样为空,因为它的基础数组变为空,但最后一项保留。

我没有显示这个的 fiddle ,但我已经将该应用程序上传到一个 Azure 网站 here代码在 git here 上关键文件是 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 更容易理解)

关于javascript - Angularjs 没有正确绑定(bind)到空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15973479/

相关文章:

javascript - 如何将http调用传递给getData函数?

javascript - 为什么没有设置全局变量值?

javascript - 如何增加 JSON 变量长度?

javascript - 类型错误为空

javascript从数组中删除项目,如果一个项目已经存在于数组中

c# - 尝试将 Google Analytics 连接到我们的应用程序时出现 "You should avoid this app"

javascript - 单击 Controller 1 中的按钮,应执行 Controller 2 中的功能

javascript - AngularJS $UibModal 触发 [$injector :unpr]

javascript - getTimezoneOffset() 方法

javascript - 访问被拒绝。请求安全页面时出现 JavaScript 错误