我在我的路线中使用了mysql select查询,而我正在尝试在视图中渲染数据。
我在检索数据时遇到了一些问题,并使用角度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)
}
]
答案 0 :(得分:0)
首先这样做
<div ng-repeat="db_data in db_datas | orderBy: idFilter: true">
<p>{{db_data.id}}</p>
</div>
然后在MainCtrl中编写以下代码
$scope.idFilter=function(db_data){
$scope.Id = db_data.id;
return $scope.Id;
};