在 Angular 5 应用程序中使用 ngx-translate 和 ng2-select

Ngo*_*yen 3 angular-ngselect ngx-translate

我想对 ng2-select 中的项目使用 ngx-translate。我能想到的唯一方法是使用翻译服务并在绑定之前改变 ts 文件中项目的文本。

有没有办法使用管道或指令,因为我想让它保持一致。

提前致谢。

小智 5

我的解决方案是创建一个管道并将其用于选择的项目:

<ng-select [items]="listOfTimeOfExecution | selectOptionsTranslate" ...
Run Code Online (Sandbox Code Playgroud)

和管道代码:

import { Pipe, PipeTransform } from '@angular/core';
import { TranslateService } from 'ng2-translate/ng2-translate';
import { SelectOption } from 'app/shared/entities';

@Pipe({name: 'selectOptionsTranslate'})
export class SelectOptionsTranslatePipe implements PipeTransform {
    constructor(public translateService: TranslateService){}

    transform(items: Array<SelectOption>) : Array<SelectOption> {
        for(let item of items) {
            item.text = this.translateService.instant(item.text);
        }
        return items;
    }
}
Run Code Online (Sandbox Code Playgroud)