首页 > 解决方案 > Angular:翻译功能无法从其他组件访问

问题描述

在我的 Angular 应用程序中,我有一个通过延迟加载加载的主组件 A 和一个子组件 B。

在这个子组件中 BI 具有以下功能:

  translator(){

    this.translate.use('de');
  }

  checkText(){

    console.log('check text works!')
  }

而且,如果我通过以下方式从 A 调用这两个函数:

  this.administrationMainComponent.checkText();

  this.administrationMainComponent.translator();

只有检查文本有效。

1)当然不是B本身的翻译问题(如果我从B的构造函数中执行它,它可以完美地工作);

2)当然,对于 Injectable 或类似的东西不是问题,因为如果我从 A 调用它,检查文本可以完美地工作

如何解决问题并从 A 正确执行翻译?

编辑:同样通过这种方式它不起作用

 translator = () => {

    console.log('check translator text!');
    this.translate.use('de');
 }

标签: angularjsangular-i18n

解决方案


https://medium.com/@lopesgon/translate-angular-4-with-ngx-translate-and-multiple-modules-7d9f0252f139

这是解决方案:将模块的翻译器部分放在外部共享模块中并从中共享。


推荐阅读