对象数组的角度定位

问题描述

我的角度组件中有一个对象数组,如下所示:

export class Result implements OnInit {
    sortBy = [
        { id: 'total',name: 'Sort by Price' },{ id: 'time',name: 'Fast tour' },{ id: 'delDate',name: 'Sort by delivery date' },{ id: 'readyDate',name: 'Sort by tour ready date' }
      ];

....rest of code
}

在我的模板中,我在自定义选择组件中使用它,如下所示:

<app-material-select
                formControlName="sortBy"
                defaultValue="total"
                labelName="Sort by"
                [options]="sortBy" >
              </app-material-select>

我已经尝试使用 angular-localize 进行翻译,但实际上没有找到,所以有什么想法吗?

解决方法

今晚我遇到了完全相同的问题,我找到了解决方法。由于我对 Angular 系列很陌生,请考虑我的方法可能很幼稚。

我想您想翻译 sortBy 数组中的项目。你可以告诉 Angular 用 $localize 提取每一个。因为 $localize 似乎返回一个字符串类型,所以不能直接在 sortBy 上使用它。所以,在你的情况下,你会得到这样的东西(假设你不想翻译 id):

export class Result implements OnInit {
    sortBy = [
        { id: 'total',name: $localize`Sort by Price` },{ id: 'time',name: $localize`Fast tour` },{ id: 'delDate',name: $localize`Sort by delivery date` },{ id: 'readyDate',name: $localize`Sort by tour ready date` }
      ];

....rest of code
}

Angular 会在提取后为 .xlf 文件中的每个项目提供适当的转换单元。