在AngularJS中的$http成功回调之外无法访问$scope变量值
$scope variable value not accessible outside of $http success callback in AngularJS
我刚开始学习AngularJS。
我创建了一个简单的应用程序来显示json文件中的内容。但是,分配给$http内部作用域的数据在外部返回未定义的数据。
var app= angular.module('app',[]);
app.controller('apCtrl',['$scope','$http',function($scope,$http){
$http.get('/path/to/data.json').success(function(){
console.log(data); // returns data --working
$scope.data=data; // assiged
console.log($scope.data); // returns data --working
});
console.log($scope.data); // returns 'undefined' --not working
}]);
请帮我理解这个问题。
谢谢!
这是因为您正在进行异步调用。当您尝试从success函数外部调用数据时,数据没有准备好。查看文档。
例如,如果你等待几秒钟,它就会显示:
app.controller('apCtrl',['$scope','$http','$timeout',function($scope, $http, $timeout){
$http.get('/path/to/data.json').success(function(){
console.log(data); // returns data --working
$scope.data=data; // assiged
console.log($scope.data); // returns data --working
});
$timeout(function(){
console.log($scope.data);
}, 2000);
}]);
相关文章:
- Ng出口无法访问父$scope
- 如何从其他方法访问Angular.js$scope
- 我如何访问在 Angular JS 的 .then() 中定义的$scope数组
- 从同一控制器 Angularjs 中的另一种方法访问$scope变量
- UI-GRID:访问$scope的问题
- ng-repeat中的ng-options - 无法访问$scope中的选定项目
- AngularJS在方法之外访问$scope
- 在$routeChangeSuccess指令的模板中访问$scope
- 在AngularJS中的$http成功回调之外无法访问$scope变量值
- 在AngularJs中从视图到工厂访问$scope数据
- 在不访问$scope的情况下自动更改输入字段
- AngularJS:在$routeProvider完成请求后访问' $scope '值
- 在用函数作为模板的重复AngularJS指令中访问' $scope '
- 从AngularJS服务内部访问$scope属性
- 如何访问“$scope.search.value”
- 我如何获得登录函数能够访问$scope.names
- 无法在angular中访问$scope
- 如何在用我的HTML编写的javascript中访问scope.postresult值
- 从ng视图访问$scope时遇到问题
- AngularJS -如何从指定作用域的指令中访问$scope