Function 离子3中的全局函数

Function 离子3中的全局函数,function,translation,global,ionic3,Function,Translation,Global,Ionic3,我想创建一个名为“translate”的全局函数。据我所知,我可以在app.module.ts文件中定义全局变量及其值。所以我尝试了以下代码: export function translate(string) { // i am not sure if it would make a difference if i would use var let ts = new TranslateService(); return ts.get(string).subscribe(res=&

我想创建一个名为“translate”的全局函数。据我所知,我可以在app.module.ts文件中定义全局变量及其值。所以我尝试了以下代码:

export function translate(string) {
  // i am not sure if it would make a difference if i would use var
  let ts = new TranslateService();
  return ts.get(string).subscribe(res=>{
    return res;
  }); 
}
所以也许我试着用错了类,也许错误在别的地方。我用的是(而且效果很好)。我不希望总是声明使用“TranslateService”(在每个需要翻译的类中),而是希望有一个全局函数,在这里我只能通过一个函数访问翻译(我不想调用另一个类…)。您可以在链接()的最后看到我非常喜欢在全局函数中使用的代码

提前谢谢


对我来说,全球化意味着项目中的任何地方都可以访问到某些东西。

我认为这是一个非常糟糕的主意,即使你通过某种混乱的手段让它工作起来,但这并不是我们想要的工作方式

TranslateService
已经是一种服务,您可以将它注入到您需要的每个类中。使用Angulars依赖项注入注入服务是使用它的理想方式。如果您担心最终会有多个翻译服务,不要担心,Angulars依赖注入系统会解决这个问题


我想您之所以想这样做,是因为您必须始终在构造函数中编写
public translate:TranslateService
。但是,如果您在app.module中导出一个函数,您必须在类中再次导入它,因此您必须从'path/to/app.module/translate'编写
import{translate}

注意:如果可以使用提供程序,则示例代码的工作效果并不更好