app.controller('EntryCtrl', ['$scope', '$http', function($scope, $http){
$http.get(something.json).success(function(data){
$scope.entries = data;
});
abc = $scope.entries.timestamp; <-- not working
}]);
搜索后,发现$ http是一个异步函数。所以我将它包装到一个函数中,但仍然无效。
app.controller('EntryCtrl', ['$scope', '$http', function($scope, $http){
var getEntries = function(){ return
$http.get(something.json).success(function(data){
return data;
});
};
$scope.entries = getEntries();
console.log($scope.entries); // returns undefined
}]);
答案 0 :(得分:1)
你的console.log在你的承诺毫无疑问地回来之前就开始了。将console.log置于成功之中。
我可能会这样写:
var getEntries = function(){
$http.get(something.json).success(function(data){
$scope.entries = data;
console.log($scope.entries);
});
};
getEntries();
此外,如果它仍然存在问题,可以使用console.log(数据),看看你得到了什么。这可能是一个后端问题。
Here is a plunker 显示了我的意思。你不应该像你一样将它包装在一个函数中。 $ http.get已经是函数。}