动态更新列表时,ng-repeat 不会复制数据

ng-repeat doesn't duplicate data when list gets updated dynamically

我正在向数组动态添加数据并尝试使用 ng-repeat 复制 div。

如果数据是最初添加的,它会正确呈现,但如果我们稍后动态添加数据则不会。

angular

var app = angular.module('game',[]);
  app.controller('myCtrl', function($scope) {

  var json = [];
  $scope.setlobbyData = function(obj){
      $scope.json = obj;
      $scope.lobbyData = $scope.json;
  };
  });

HTML

<div ng-controller="myCtrl">
<div ng-repeat="i in lobbyData">some data</div>
</div>

js

var ssr = {
    "0": {
        "tradeSpread": 0,
        "minBuyIn": 10,
        "minPlayers": 2,

    },
    "1": {
        "tradeSpread": 0,
        "minBuyIn": 10,
        "minPlayers": 2,

    }
};
angular.element($("#foreignExchangeMain")).scope().setlobbyData(ssr);

我认为解决方法是调用

$scope.$apply();

看这里: How can I tell AngularJS to "refresh"

请参考此 post 从外部更新范围数据 angular:

AngularJS access scope from outside js function

使用 $apply 刷新

 var scope = angular.element($("#foreignExchangeMain")).scope();
        scope.$apply(function(){
            scope.json = ssr;
            scope.setlobbyData(ssr)

        });