将对象从jade传递给angularjs模板

时间:2014-09-10 07:44:53

标签: javascript node.js angularjs pug

我正在尝试将对象从节点传递到客户端,如下所示

render: function(req,res){
    res.render('auth',{
        userData : req.session.user
    });
  }

在我的auth.jade中,代码如下

script.
    var data = !{JSON.stringify(userData)}
    console.log(data)
    window.top.location='/profile'

所以我将应用程序重定向到我使用angularjs在routeProvider中定义的新路由

app.config(['$routeProvider','$locationProvider',
  function($routeProvider,$locationProvider) {
    $routeProvider.
      when('/profile', {
        templateUrl: 'templates/profile.html',
        controller: 'ProfileCtrl'
      })

那么有没有办法可以访问控制器中该路径的'data'对象?

1 个答案:

答案 0 :(得分:7)

您可以在脚本中执行此操作:

var data = !{JSON.stringify(userData)};
window.serverData= data;

在你的app.js之后,你可以这样做:

app.value('serverData', window.serverData);

在你的控制器中:

app.controller('controllerName', ['serverData', function(serverData){

console.log(serverData);

}]);

您可以在不执行app.value的情况下访问window var到控制器,但这是一个很好的做法。