Javascript 在ng repeat中更新对象属性

Javascript 在ng repeat中更新对象属性,javascript,angularjs,ng-repeat,Javascript,Angularjs,Ng Repeat,我使用ng repeat来表示我的对象。例如: <div ng-repeat="item in items | orderBy: 'label' | filter:query | orderBy: 'label'"> <h1>{{item.label}}</h1> <h1>{{item.property}}</h1> </div> 我的问题是: 如何更新ng repeat中表示的其中一个对象的属性? 我的意思是,如

我使用ng repeat来表示我的对象。例如:

<div ng-repeat="item in items | orderBy: 'label' | filter:query | orderBy: 'label'">
  <h1>{{item.label}}</h1>
  <h1>{{item.property}}</h1>
</div>
我的问题是: 如何更新ng repeat中表示的其中一个对象的属性? 我的意思是,如何更新
{{item.property}
而不重新加载所有
数组


(对象的属性将随频率更新,因为它是每个对象的“状态(开/关)”。

AngularJS之外的事件需要$apply。这告诉angular应用摘要循环来更新视图

socket.on('itemPropertyUpdated', function(item){
   $scope.$apply(function() {
      // Update property of this item in ng-repeat
   });
});

如果您有对范围的引用:

  socket.on('itemPropertyUpdated', function(item){
      // Update property of this item in ng-repeat
      someObject.someProperty = someValue;
      scope.$evalAsync();
    });

如果没有,可以调用
angular.element(somedElement).scope()
来获取它。

如何更新ng repeat中某个对象的属性。不清楚你在问什么。澄清。如果你在有角度的世界里工作。数组应该“更新”自身。否则,您必须手动调整角度循环。后者表示存在某种代码气味。
  socket.on('itemPropertyUpdated', function(item){
      // Update property of this item in ng-repeat
      someObject.someProperty = someValue;
      scope.$evalAsync();
    });