lok*_*der 0 javascript angularjs angularjs-scope
我刚开始学习AngularJS.
我创建了一个简单的应用程序来显示json文件中的内容.但是,分配给$ http内部范围的数据,返回undefined外部.
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
}]);
Run Code Online (Sandbox Code Playgroud)
请帮我理解这个问题.
谢谢!
这是因为你正在进行异步调用.当您尝试从成功函数外部调用数据时,不会准备数据.查看文档.
例如,如果你等待几秒钟,它会显示:
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);
}]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2480 次 |
| 最近记录: |