Ionic 3中的全局函数

问题描述:

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

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; 
    }); 
} 

所以,也许我尝试使用了错误的类,也许错误是其他地方。我使用ngx-translate Module(它很好用)。而不是总是声明使用“TranslateService”(在需要翻译的每个类中),我想要一个全局函数,我可以通过函数访问翻译(我不想调用另一个类.. )。你可以看到我喜欢在链接最后的全局函数中使用的代码(ngx-translate

在此先感谢。

全球对我来说意味着项目中的任何地方都可以使用某种东西。

+0

注意:示例代码不起作用 –

+0

它更好,如果您可以使用提供程序 –

我认为这是一个非常糟糕的主意,即使如果你得到它的工作以某种方式通过一些凌乱的黑客那不是这样打算工作的方式。

TranslateService已经是一种服务,您可以在您需要的每个课程中注入该服务。使用Angulars依赖注入注入服务是使用它的预期方式。如果您担心最终会有多种翻译服务 - 不用担心,Angulars依赖注入系统会照顾到这一点。

我想你想这样做,因为你总是必须在构造函数中编写public translate: TranslateService。但是,如果您在app.module中导出函数,则必须在班级中再次导入该函数,因此您每次都必须编写import { translate } from 'path/to/app.module/translate';