将一个物体从玉石传给angularjs模板

Pass an object to angularjs template from jade

本文关键字:石传 模板 angularjs 一个      更新时间:2023-09-26

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

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'
      })

那么,有没有一种方法可以让我访问该路由的控制器中的"数据"对象?

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

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的情况下访问控制器中的窗口var,但这是一种很好的做法。