在Angular控制器上获取EJS数据

我试图从我的节点服务器使用ejs传递数据到我的angular度控制器,以便我可以在控制器加载时使用它(对Angular或UI路由器不感兴趣,您可以parsing)。

节点服务器(使用快递):

app.get('/', function(req, res) { res.render('index', { names: ["Daniel", "Sarah", "Peter"] }); }); 

angular度控制器:

 .controller('NamesController', function ($scope) { var info = <%= names %>; }); 

这样做会给我以下错误: Uncaught SyntaxError: Unexpected token <

如果这是不可能的,我很乐意听到关于如何在我的页面上预加载数据的build议。

我会传入数组的string版本 – 然后parsing出来在客户端上:

 app.get('/', function(req, res) { res.render('index', { names: JSON.stringify(["Daniel", "Sarah", "Peter"]) }); }); 

并记得引用它(这假设你的控制器在你的EJS页面)!

 .controller('NamesController', function ($scope) { var info = JSON.parse('<%= names %>'); }); 

如果你的控制器在你自己的文件中,你可以使用ngInit方法:

 <div ng-init="init('<%= names %>')"></div> 

并parsing:

 $scope.init = function(stringifiedArray) { var info = JSON.parse(stringifiedArray); }