2017-08-25 65 views
0

这是我的Angular代码。我通过AngularJS服务获得了一系列userInfo如何访问AngularJS中的AngularJS对象

app.controller('personalController', function ($scope, $http, $window, userInfo) { 

    $scope.info = userInfo.getValue(); 
    console.log($scope.info); 
    //$scope.data = $scope.info; 
    console.log($scope.info.inf.CNIC); 
} 

这是我的角度服务:

app.service('userInfo', function() { 
    var infor = {}; 
    this.setValue = function (info) { 
     infor["inf"] = info; 
    } 
    this.getValue = function (info) { 
     return infor; 
    } 
}) 

我得到以下值:

enter image description here

,我在console.log($scope.info.inf.CNIC);得到cannot read the property错误。

+0

它,因为异步行为的console.log被excuting什么是assinged之前$ scope.info –

+0

我得到的值,请“这里描述”检查图像 –

+1

这是因为'console.log'打印了对象的更新版本。 –

回答

0

以下是我的工作,以达到我的angularjs对象。

在控制器设置

window.test = $scope; 

然后在你的开发者控制台,你可以达到你的角度对象,如下面

test.info 
+0

我是新角度请简要介绍我 –

+0

您可以将控制器范围设置为window属性(本例中为“测试”),如'window.test = $ scope;'。然后在您的Chrome开发者控制台中,您可以在输入'test.info'时访问您的范围对象。 (信息或您范围内的任何其他对象) –

0

如果您使用的是Chrome,你可以做到以下几点:

通过右键单击并从浏览器中检查元素,或者从开发工具的元素选项卡中选择元素,选择要获取范围的元素,th在开发工具控制台中引用时,将导致$ 0指向该元素。

在开发工具控制台,您可以使用下面的语句,并获取范围:

angular.element($0).scope(); 

因此,要回顾:

  1. 右键单击你想要得到的范围,然后单击检查元素元素
  2. 类型var sc = angular.element($ 0).scope();
  3. 检查内部SC变量的数据
相关问题