【问题标题】:Global function in Ionic 3Ionic 3 中的全局函数
【发布时间】:2017-09-26 01:05:39
【问题描述】:

我想创建一个名为“翻译”的全局函数。据我所知,我可以在 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;
  }); 
}

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

提前致谢。

对我来说,全局意味着项目中的任何地方都可以访问。

【问题讨论】:

  • 注意:示例代码不起作用
  • 如果你能使用提供者会更好

标签: function translation global ionic3


【解决方案1】:

我认为这是一个非常糟糕的主意,即使 如果你通过一些杂乱无章的 hack 以某种方式让它工作,这不是它的预期工作方式。

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

我猜你想这样做是因为你总是必须在你的构造函数中写public translate: TranslateService。但是如果你在你的 app.module 中导出一个函数,你必须在你的类中再次导入它,所以你每次都必须写import { translate } from 'path/to/app.module/translate';

【讨论】:

    猜你喜欢
    • 2017-08-27
    • 1970-01-01
    • 2018-03-07
    • 1970-01-01
    • 2018-06-02
    • 1970-01-01
    • 2019-02-20
    • 2015-09-29
    • 2019-03-02
    相关资源
    最近更新 更多