Dan*_*lla 7 ejs node.js angularjs
我正在尝试使用ejs将数据从我的节点服务器传递到我的角度控制器,以便在控制器加载时可以使用它(对Angular或UI路由器不感兴趣,你可以解析它).
节点服务器(使用express):
app.get('/', function(req, res) {
res.render('index', {
names: ["Daniel", "Sarah", "Peter"]
});
});
Run Code Online (Sandbox Code Playgroud)
角度控制器:
.controller('NamesController', function ($scope) {
var info = <%= names %>;
});
Run Code Online (Sandbox Code Playgroud)
这样做会给我以下错误: Uncaught SyntaxError: Unexpected token <
如果无法做到这一点,我很想听听有关如何在我的页面上预加载数据的建议.
我将传递一个字符串化的数组版本 - 然后在客户端上解析它:
app.get('/', function(req, res) {
res.render('index', {
names: JSON.stringify(["Daniel", "Sarah", "Peter"])
});
});
Run Code Online (Sandbox Code Playgroud)
并记得引用它(这假设您的控制器在您的EJS页面中)!
.controller('NamesController', function ($scope) {
var info = JSON.parse('<%= names %>');
});
Run Code Online (Sandbox Code Playgroud)
如果您的控制器在您自己的文件中,您可以使用以下ngInit方法:
<div ng-init="init('<%= names %>')"></div>
Run Code Online (Sandbox Code Playgroud)
并解析:
$scope.init = function(stringifiedArray) {
var info = JSON.parse(stringifiedArray);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2415 次 |
| 最近记录: |