【发布时间】:2014-09-21 07:48:26
【问题描述】:
我在我的路由中使用 mysql 选择查询,我正在尝试在视图中呈现数据。
我在检索数据并使用角度 ng-repeat 显示它时遇到了一些麻烦。我认为这与数据格式(json / array)有关。如果有人能在这方面给我一点启发,将不胜感激!
PS : 我正在使用 EJS 模板
Nodejs:
pool.getConnection(function(err, conn) {
var db_result = [];
query = conn.query('SELECT * FROM table');
query.on('error', function(err){
throw err;
});
query.on('result', function(row){
db_result = row;
//Maybe I need to use db_result.push(row) or db_result = JSON.stringify(row);
});
query.on('end', function(result){
res.render('index', { db_data: db_result });
});
conn.release();
});
AngularJS:
//Code inside MainCtrl
$scope.db_datas = <%=db_data%>;
//HTML code
<div ng-repeat="db_data in db_datas | orderBy:'id':true">
<p>{{db_data.id}}</p>
</div>
编辑:
nodejs 变量db_result 的值如下所示:
[
{ id: 104,
content: 'test',
date: Sat Jul 26 2014 03:57:43 GMT+0200 (CEST)
},
{ id: 105,
content: 'test',
date: Sat Jul 26 2014 03:57:43 GMT+0200 (CEST)
}
]
【问题讨论】:
-
嗯,您提供的评论绝对正确 - 'db_result.push(row)' 是正确的。否则你继续覆盖变量,最后你只有最后一行。
-
好的,谢谢。我仍然无法让它与角度一起工作,说
missing [ after element list。我真的不知道需要传递什么类型的数据
标签: node.js angularjs view routes format