在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); }