这是controller
cat1=[];
$.getJSON('categories/1/', function(data) {
cat1 = data; //returns a JSON
});
//cat2..4 are some JSONs
$scope.pictures=[cat1,cat2,cat3,cat4,cat5];
问题是,似乎cat1=[]
和cat1=data
是不同的变量,因为pictures[cat1]
始终返回[]
我做错了吗?
答案 0 :(得分:4)
因为$.getJSON
是异步请求,并且在您尝试登录时仍在处理。另外,不要在Angular中使用jQuery,使用Angular的$http
(这样会触发$digest
周期,并且所有内容保持同步):
$http.get("categories/1/").success(function(data) {
cat1 = data; //returns a JSON
$scope.pictures=[cat1,cat2,cat3,cat4,cat5];
});
不要忘记在控制器中添加$http
作为依赖项:
app.controller("myCtrl", ["$scope", "$http", function($scope, $http) {
}]);