0
如何使对象属性的绑定工作。例如,在我的控制,我有:对象属性中的角度绑定
$scope.reviews = {
rating_summary: 4,
items: [ { title: 'A Title'}, etc... ]
}
在我看来:
<li ng-repeat="review in reviews.items">
现在,每当我改变审查变量在控制器中,没有更新:
$scope.reviews = [new updated reviews]
可能是因为角正在监听$ scope.reviews的旧引用的更改。
有两种解决方案的结合工作,但两者都不是很聪明:
- 连接的项目,以直接的范围,所以这将是
$scope.items = $scope.reviews.items
,现在,只要项目被改变,他们将更新。 - 用户angular.copy保持目标引用,所以
angular.copy({items: []}, $scope.reviews);
是否有任何其他的解决方案比上述要做到这一点其他的。
它应该像#scope.reviews = []新更新的评论] ...问题应别在别的地方......并且可以创建一个演示文稿... –
如果scope.reviews是一个数组,但它是一个对象,并且该数组是对象键之一,即$ scope.reviews = {rating_summary:5,items:[item1,item2,..]} –
查看我的示例:https://jsfiddle.net/or66quta/ –