我想为ng select设置全局设置,ngx translate TranslateService将"notFoundText"作为翻译值:

export class AppComponent {
  constructor(
    public translate: TranslateService,
    private readonly ngSelectConfig: NgSelectConfig
  ) {
    translate.addLangs(['pl-PL']);
    translate.setDefaultLang('pl-PL');

    this.ngSelectConfig.notFoundText =
      this.translate.instant('GENERAL.NO_DATA');
  }
}

在这个实现中,translate.instant()返回"GENERAL.NO_DATA"而不是翻译文本.它可以在几个地方工作(也可以在几个模块中工作,所以通常我的配置可以工作),但在根组件中不工作概述.我的JSON文件中也不存在"NO_DATA",因为我已经使用了很长时间.

如何在此组件中使用TranslateService?

推荐答案

我第一次使用ngx translate时遇到了这个问题.当初始化app-component时,翻译服务尚未完成配置,因此当您通过instant方法获得翻译文本时,它不起作用,结果将为GENERAL.NO_DATA.

解决方案:您应该使用get方法

this.translate.get('GENERAL.NO_DATA').pipe(
take(1)
).subscribe(text => this.ngSelectConfig.notFoundText = text);

Angular相关问答推荐

Angular前端调用ALB身份验证后的后端并重定向

Angular 17上的material 工具提示的自定义样式

Angular 17@在大小写时切换多个值

我如何更新此Ionic应用程序以解决路由问题?

第15角Cookie的单元测试用例

如何包装NGB carousel ?

如何将管道异步化添加到不在html模板中的观察对象的Angular ?

当嵌套在异步容器中时,S会阻止具有动态值的ionic 段工作吗?

将sass与@Use语句一起使用时出现Angular 新的VITE构建器编译错误

懒惰加载角404路径

Angular 17+独立配置中main.ts bootstrap 调用的最佳实践

当在server.ts文件中定义API路径时,Angular 17构建失败

根据环境变量动态加载Angular templateUrl

无法在单个元素上多次监听同一个事件

Angular 15 在 URL 中使用@进行路由

Angular:try 在点击次数后禁用按钮

Angular2 Material Dialog css,对话框大小

在 Angular 中动态设置样式

如何在 Angular 2 的同一个组件中使用多个 ng-content?

为什么 Angular 项目中没有 Angular-CLI 为 model生成命令?