AngularJS – 访问节点/快速会话信息

我正在使用Express和Passport进行身份validation和授权的节点应用程序,并且所有这些都正常工作。 然而,我很困惑,我将如何在Angular控制器中获得当前用户(由Passport设置为req.user)。

我希望能够做正常的事情,如显示在标题/导航栏(除其他事项)的用户名,我目前正在使用Jade视图引擎,但我不喜欢混合使用Jade视图引擎一些“数据绑定”和Angular为他人。

现在,我知道我可以很容易地调用一个节点的api端点,它将req.user作为JSON返回,但这看起来像一个丑陋的解决scheme,因为每当有页面加载时,不是SPA)。

所以我的问题基本上是这样的:我可以在我的Angular视图中获取当前login的用户,所以我可以做我所有的数据绑定客户端而不是一些服务器端(与Jade视图引擎)和一些客户端与Angular?

注意:没有代码片断,因为一切实际上都按预期工作,我只是希望有一个比我目前有更好的select。

考虑在定义ng-app的DOM上使用“ng-init”,这是一个在Express中打印的服务器端数据(假设为Dust模板)。 下面是一个简单的例子:

<body ng-app="testApp" ng-controller="homeCtrl" ng-init="logged_in_user = {req.user}"> <div... ... </body> 

那么你可以访问您的homeCtrl中的logged_in_user,作为“scope.logged_in_user”希望这有助于..

-Bhaskara