【问题标题】:AngularJS 2 localization service best practiceAngularJS 2 本地化服务最佳实践
【发布时间】:2016-06-20 07:11:54
【问题描述】:

我有一个服务,我可以在其中调用:

localization('navbar.home')

它返回“家”。

几个问题:

  1. 目前,我必须将这个服务注入到我使用的每个组件中,然后我写let lang = localization;,有没有办法将它绑定到像 NG1 $rootScope 这样的东西,所以我必须加载一次?
  2. 有没有办法一次性绑定函数? NG1 给了我写的选项:{{::lang('navbar.home')}},所以它只被调用了一次。

我对本地化的态度可能完全过时或错误,因为我是从 NG1 迁移过来的。

这里的最佳做法是什么?将其作为服务保留?一次不绑定?

【问题讨论】:

    标签: angularjs angular localization


    【解决方案1】:

    注入的服务是继承的,如果您希望在所有组件中使用它们,您可以在根级别(引导程序)只注入一次:

    bootstrap(AppComponent, [
    /* everything you put here is available  in all components */ 
      ServiceOne,
      ServiceTwo
    ])
    

    您仍然需要在组件的构造函数中声明它们:

    constructor(private so: ServiceOne) {}
    

    但您没有将它们包含在组件的providers[] 元数据中。

    不能帮忙处理其他事情(;

    【讨论】:

      猜你喜欢
      • 2010-10-11
      • 2015-12-10
      • 2011-04-07
      • 1970-01-01
      • 1970-01-01
      • 2010-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多