我正在尝试将对象从 Node 传递到客户端,如下所示
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'
所以我将应用程序重定向到我在 routeProvider 中使用 angularjs 定义的新路由
app.config(['$routeProvider','$locationProvider',
function($routeProvider,$locationProvider) {
$routeProvider.
when('/profile', {
templateUrl: 'templates/profile.html',
controller: 'ProfileCtrl'
})
那么有没有一种方法可以让我访问该路由的 Controller 中的“数据”对象?
最佳答案
您可以在脚本中执行此操作:
var data = !{JSON.stringify(userData)};
window.serverData= data;
在你的 app.js 之后,你可以这样做:
app.value('serverData', window.serverData);
在你的 Controller 中:
app.controller('controllerName', ['serverData', function(serverData){
console.log(serverData);
}]);
您可以在不执行 app.value 的情况下访问 Controller 中的窗口变量,但这是一个很好的做法。
关于javascript - 将对象从 jade 传递到 angularjs 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25759927/