angular - 如何在 Angular 5 (ngx-translate) 中对翻译列表进行排序

标签 angular sorting ngx-translate

假设我有以下简单的 html 代码(Angular 5,ngx-translate):

<div>
    <div *ngFor="let item of items">
        <div>{{item | translate}}</div>
    </div>
</div>

我通过 http-get 从后端获取列表“items”。

我的问题是:如何按翻译值对项目列表进行排序?

示例:

项目:

[ "lbl_a", "lbl_b", "lbl_c" ]  

带有翻译:

{
    "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 中(仅限管道)

<div *ngFor="let item of items | yourPipeName">
    <div>{{item | translate}}</div>
</div>

关于angular - 如何在 Angular 5 (ngx-translate) 中对翻译列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49975586/

相关文章:

javascript - 每次我改变路线时都会调用 ngOnInit

excel - 使用宏对表格进行排序

sorting - C++ OpenCV按级别对轮廓层次进行排序

angular - Ngx-translate 给出 404 错误 Nativescript angular

angular - 如何使用 ngx-translate 翻译 typescript 文件中的组件或服务字符串

javascript - 解析运行时 Javascript 属性的 Typescript 编译器消息

node.js - ASP.NET Core 系统找不到指定的文件

c# - 如何使用 C# 中的 crypto-js 解密 AES

java - 如何收集列表中的列表

angular - 从管道更改语言时如何更改日期格式