动态更新列表时,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)
});
我正在向数组动态添加数据并尝试使用 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)
});