在AngularJS的$ http成功回调之外无法访问$ scope变量值

洛克编码器

我才刚刚开始学习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

}]);

请帮助我了解这个问题。

谢谢!

al

这是因为您正在进行异步调用。当您尝试从成功函数之外调用数据时,没有准备好数据。检查文档

例如,如果您等待几秒钟,它将显示:

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);

}]);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在AngularJs中更新$ scope变量值

来自分类Dev

无法在函数angularjs中更新变量值

来自分类Dev

为什么AngularJS无法识别我的变量值改变了?

来自分类Dev

变量值在if语句之外

来自分类Dev

获取动态范围变量值angularjs

来自分类Dev

js访问变量值

来自分类Dev

无法访问子类中的父类变量值

来自分类Dev

无法在回调中设置变量值

来自分类Dev

获取Promise之外的变量值

来自分类Dev

如何使变量值在if语句之外结转

来自分类Dev

Ajax 成功未设置变量值

来自分类Dev

在jsp中访问javascript变量值

来自分类Dev

从Ansible Playbook内部访问变量值

来自分类Dev

使用xarray访问netCDF变量值

来自分类Dev

在函数外访问变量值

来自分类Dev

无法在emacs中设置变量值?

来自分类Dev

无法从IronRuby更新变量值

来自分类Dev

Gulp任务-无法设置变量值

来自分类Dev

无法更改变量值javascript

来自分类Dev

Java无法获得正确的变量值

来自分类Dev

Livecode 无法识别变量值

来自分类Dev

AngularJS更改注入全局变量值

来自分类Dev

如何在angularjs模板中设置范围变量值

来自分类Dev

如何在AngularJS中拼接变量值?

来自分类Dev

在angularjs中获取动态范围数组变量值

来自分类Dev

如何在angularjs模板中设置范围变量值

来自分类Dev

在angularjs中获取动态范围数组变量值

来自分类Dev

将变量值传递给标签 angularjs

来自分类Dev

如何访问脚本标记之外的Javascript变量值