如何从AngularJS Scope

时间:2016-09-29 15:15:51

标签: javascript angularjs scope

我无法从HTTP请求的角度范围访问我的用户信息。我可以在开发人员工具中看到我需要的信息,但是我无法访问它。

这就是我所拥有的:

    var scope = angular.element("#comment").scope();
    console.log(scope);
    //console.log(scope.navvm.currentUser.name);

我已经尝试了注释掉的部分,但它不起作用。当我运行未注释的部分;我可以在我的开发人员工具中看到这个

enter image description here

我划掉了用户名和电子邮件。

这是导航控制器

(function () {

angular
    .module('meanApp')
    .controller('navigationCtrl', navigationCtrl);

navigationCtrl.$inject = ['$location','authentication'];
function navigationCtrl($location, authentication) {
    var vm = this;

    vm.isLoggedIn = authentication.isLoggedIn();

    vm.currentUser = authentication.currentUser();

}

})();

这是导航指令

(function(){

angular
    .module('meanApp')
    .directive('navigation', navigation);

function navigation () {
    return {
    restrict: 'EA',
    templateUrl: '/common/directives/navigation/navigation.template.html',
    controller: 'navigationCtrl as navvm',
    scope: '@?'
    };
}

})();

1 个答案:

答案 0 :(得分:0)

我建议在控制器中添加日志语句

因此,对于您的情况,只需在控制器的定义中添加console.log(currrentUser)

编辑:您没有使用$ scope。您正在使用controller as语法。如果需要以这种方式调试数据,则添加引用当前控制器的$ scope变量:$scope.navvm = this;

干杯!