【发布时间】:2015-01-31 17:58:33
【问题描述】:
我尝试将 $http.get 中的数据分配给控制器中的变量。
$http.get(URL).success(function (data) {
$scope.results = data;
console.log('results in $http.get :'+ $scope.results);
});
console.log('results after http.get'+ $scope.results);
第一个控制台日志打印来自 get 的数据。在 $http.get(url).success $scope.results 打印为未定义之后。
【问题讨论】:
-
正如其他答案指出的那样,该方法是异步的,因此它会立即返回。成功回调在完成并填充您的变量时被调用,如果您已正确设置绑定,您的 UI 将更新。它的行为与应有的完全一样。
-
现在我尝试获取这样的数据: var getSomething = function(){ return $http({method:"GET", url:URL}).then(function(result){ return result 。数据; }); };并将结果分配给变量: $scope.results = getSomething();
标签: javascript angularjs angularjs-scope angularjs-controller angularjs-http