我正在研究Angular 6上的一个新项目。
我有一个带有* NgFor的学生名单:
(html)
<tr *ngFor="let kk of Repdata | filterdata: queryString : 'name' ; let ind = index">
<td>{{ind + 1}}</td>
<td>{{kk.name}}</td>
<td>{{kk.prenom}}</td>
(filterdata用于seachbar)
打字稿:
GetUser(){
return this.http.get('http://localhost:8080/api/getUser/')
.map((response: Response) => response.json())
}
javascript:
app.get("/api/getUser",function(req,res){
model.find({},function(err,data){
if(err){
res.send(err);
}
else{
res.send(data);
}
});
})
在我的表中,我的数据按ID排序,但我想按名称排序。我不知道该怎么办。
答案 0 :(得分:2)
如果只希望按名称在数据库外部对数据进行排序,则可以使用sort()
函数,如此处Sort array by firstname (alphabetically) in Javascript
您还可以使用mongodb提供的Sort函数,因为您似乎正在使用mongoose。 https://docs.mongodb.com/manual/reference/method/cursor.sort/
如果您只想在Angular视图中对其进行排序,则可以按照以下说明使用自定义排序管道:Angular 2 OrderBy Pipe
编辑:
您不应该使用管道进行过滤/排序,因为它们表现不佳,如此处所述:https://angular.io/guide/pipes#appendix-no-filterpipe-or-orderbypipe
答案 1 :(得分:0)
您可以通过在应用程序中安装DataTable来执行排序。它也可以用来执行分页。
您可以通过在角度6中运行以下命令来安装DataTable:
npm i angular-6-datatable --save
有关完整的指南,请通过以下链接: