我正在使用微软的adal.js for angular,它通过漫长而复杂的身份验证链记录人员并且只是密切相关,因为当登录过程完成后,adal会将用户的信息提供给视图:
<p>
{{userInfo.userName}}
</p>
这有效,但我不知道如何。
我正在使用controler-as语法,所以如果我想在我的控制器中使用$scope
,我必须专门注入它,否则它不适用于所述控制器。
$scope
未被注入控制器。
请注意,如果控制器没有注入$scope
,视图如何获得$scope
变量?
感谢。
为澄清而编辑。我希望这个问题现在更有意义。
答案 0 :(得分:0)
看起来adal.js库在rootScope上为您管理userInfo对象。不幸的是,这意味着如果你想在控制器中访问它,你必须将一个范围($ scope或$ rootScope)注入你的控制器才能访问它。
视图始终只能访问作用域上的对象。为了使视图能够访问某些内容,必须将其附加到视图的范围。我猜测角度开发人员使用语法{{ userInfo.userName }}
而不是{{ $scope.userInfo.userName }}
,因为上述限制(将$ scope放在一边是多余的)
如果您想避免将示波器注入控制器,可以创建一个注入$ rootScope的工厂,并提供访问所需内容的方法。