【问题标题】:Pass an object to angularjs template from jade将对象从玉传递到 angularjs 模板
【发布时间】:2014-11-03 18:40:36
【问题描述】:

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

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

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

【问题讨论】:

    标签: javascript node.js angularjs pug


    【解决方案1】:

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

    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访问到控制器中,但这是一个很好的做法。

    【讨论】:

      猜你喜欢
      • 2012-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-24
      • 2017-04-26
      • 2016-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多