2016-11-16 4 views
0

Это не проблема, но это вопрос:один сервис с переменным во многих ngModule

В тестовом проекте, я пытаюсь использовать NG2-перевод в несколько ngModule с одной TranslateService.

package.json:

"ng2-translate": "^4.0.0" 

Это не работает для каждого модуля я должен объявить новый

'TranslateModule'

И в компонентах, это новый TranslateService так он не поддерживает перевод языковой ценности.

Вы пытаетесь ввести одно и то же обслуживание в несколько ngModule? если да, то как?

Спасибо.

+0

Читали [https://github.com/ocombe/ng2-translate#installation](https://github.com/ocombe/ng2-translate#installation) замечания по установке? В нем четко указано, как использовать этот модуль для всех классов. –

ответ

1

Постарайся общий модуль

import {TranslateModule, TranslateService, TranslateLoader, TranslateStaticLoader} from 'ng2-translate/ng2-translate'; 
    @NgModule({ 
     imports: [..,TranslateModule], 
     declarations: [..], 
     exports: [ .., TranslateModule] 
    }) 
    export class SharedModule { 

    static forRoot(): ModuleWithProviders { 

     function translateLoader(http: Http) { 
      return new TranslateStaticLoader(http, 'i18n', '.json'); 
     } 
     return { 
      ngModule: SharedModule, 
      providers: [UserService, ItemService, { 
       provide: TranslateLoader, 
       useFactory: translateLoader, 
       deps: [Http] 
      }, 
       TranslateService], 
     }; 
    } 
    } 

Изменить TranslateModule.forRoot() в AppModule.ts к SharedModule.forRoot().

source

+0

это работа, но я просто изменить эту строку: 'импорт {TranslateModule, TranslateService, TranslateLoader, TranslateStaticLoader} от 'NG2-перевод/NG2-перевод';' по 'импорта {TranslateModule, TranslateService, TranslateLoader, TranslateStaticLoader} из 'ng2-translate'; ' – Eltron

 Смежные вопросы

  • Нет связанных вопросов^_^