在ng-view中读取护照变量

时间:2014-11-17 14:19:44

标签: angularjs node.js express passport.js

嗨,我有这个小问题

我有这种模板结构:

<div id="navbar">..... Connected as #{user.username} </div>
<div id="main>
   <div id="ng-view"> Here go my partial templates </div>
</div>


现在我想在我的部分模板profile.jade中显示我的护照变量,该模板进入ng-view div

<h3>Profile of #{user.username}</h3>

不幸的是,来自快递的来自护照的user.username变量很好地显示在我的导航栏中但不在ng-view中显示,它是空的。

有什么想法吗?感谢

1 个答案:

答案 0 :(得分:1)

Jade模板由服务器解析,而angular由客户端解析。

如果您在初始渲染后加载客户端模板,那么它不会获取变量。

有几种方法可以解决这个问题,您可以在初始加载时将用户对象添加到全局变量,然后使用角度应用程序获取它。

head
    script.
        var app = {};
        app.user = JSON.parse(!{JSON.stringify(user)});

然后在某个地方,

$scope.user = app.user;

或者您可以设置一些REST路由以使用角色中的AJAX来获取用户的会话。

您也可以使用jade预渲染模板。