2015-06-26 27 views
0

我正在從javascript觸發角函數並試圖重複一個div。找不到索引和從javascript返回的數據作爲對象。ng-repeat與作爲參數收到的動態json數據

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

    var json = []; 
    $scope.setlobbyData = function(obj){ 
     $scope.json = obj; 
     $scope.lobbyData = 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); 
+0

我同意@ Jax700303。你只能使用ng-repeat迭代數組或列表。你做的方式不符合要求,所以我寧願只是在上面的評論中說的方式。 – chetank

+0

更改$ scope.lobbyData = json;到$ scope.lobbyData = $ scope.json;想要編輯但刪除,而不是! – Jax

+0

我可以收到來自js的數據。但是,ng-repeat不會顯示數組中添加的數據。 –

回答

0

我用$申請函數更新te anugular和事情得到更新

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

}); 
0

嘗試使用ng-if,這將在視圖反映當控制器採集更新:

<div ng-repeat="i in lobbyData" ng-if="lobbyData">some data</div> 
+0

試試這個。使用ng-if將在控制器中收集更新時反映在視圖中。 ng-if =「lobbyData」。 – sidhu