如何在Angular 5(ngx translate)中对已翻译列表进行排序
假设我有以下简单的html代码(Angular 5,ngx translate): 随附译文:如何在Angular 5(ngx translate)中对已翻译列表进行排序,angular,sorting,ngx-translate,Angular,Sorting,Ngx Translate,假设我有以下简单的html代码(Angular 5,ngx translate): 随附译文: { "lbl_a": "tree", "lbl_b": "zoo", "lbl_c": "car" } 然后我想显示: car tree zoo (按字母表排序)您可以创建管道,也可以在获取项目时对其进行排序 this.service.getTranslatedItems().subscribe(items => { this.items = items.sort
{
"lbl_a": "tree",
"lbl_b": "zoo",
"lbl_c": "car"
}
然后我想显示:
car
tree
zoo
(按字母表排序)您可以创建管道,也可以在获取项目时对其进行排序
this.service.getTranslatedItems().subscribe(items => {
this.items = items.sort((a, b) => a.localeCompare(b));
});
用管子
transform(items: string[]) {
return items.sort((a, b) => a.localeCompare(b));
}
和在HTML中(仅限管道)
{{项目|翻译}
您不能使用内置管道进行过滤或过滤
但是,您可以通过编写自己的管道来实现这一点。只需翻译然后对数据进行排序 您可以按
this.service.getTranslatedItems().subscribe(items => {
this.items = items.sort((a, b) => a.localeCompare(b));
});
transform(items: string[]) {
return items.sort((a, b) => a.localeCompare(b));
}
<div *ngFor="let item of items | yourPipeName">
<div>{{item | translate}}</div>
</div>
<div *ngFor="let item of items | orderBy : 'columnname']"">
<div>{{item | translate}}</div>
</div>