【发布时间】:2013-07-07 18:07:44
【问题描述】:
$scope.init = function() {
return $scope.items = basketService.items;
};
ng-repeat = "item in items"
使用 $scope.items + 刷新 $scope.items 并进行广播。
或
$scope.getItems = function() {
return basketService.items;
};
ng-repeat = "item in getItems()"
将 basketService.items 复制到 $scope.items 是必须完成的,还是与 getItems()(速度、内存...)相同?
【问题讨论】:
-
如果你把 CoffeeScript 转换成 JavaScript,你会得到更多的答案。
-
在第一个示例中,
$scope.items = basketService.items,您不是在复制,而只是在设置参考。只要对 basketService.items 进行操作(例如,使用 angular.copy() 或 splice() 来更改服务中的items)并且不重置(即,未完成类似的操作:items = newItemsArrayFromServer),就会有无需刷新 $scope.items ——它将始终引用服务的数组,并且 ng-repeat 会注意到任何更改。
标签: javascript jquery angularjs binding