2016-06-17 14 views
0

lang.service.tsというサービスを構築しました。それは単にkey: valueメカニズムです。コンポーネントに必要なときはいつでも、それをインポートしてconstructorに宣言してから、{{lang('key').text}}として使用します。ここまでは順調ですね。角度2のすべてのコンポーネントにサービスをロードする方法

私は、view-header.component.tsview-footer.components.tsなど多くのコンポーネントのように、コンポーネントごとにロードすることに気づいたことがあります。私は角度1を使用したことはありませんでしたが、IIRC、私はrootScope.lang(..)のような何かをすることができ、私が探していたものを達成することができました。 Angular 2のようなことをする方法はありますか?

答えて

1

サービスをルートコンポーネントに登録すると、すべての子コンポーネントがそのサービスにアクセスできます。あなたのルートコンポーネントで

...あなたの子コンポーネントで

import { Component } from '@angular/core'; 

import { YourService } from './my-servive.service.ts'; 
import { ChildComponent } from './child-component.component.ts'; 

@Component({ 
    selector: 'root-component', 
    providers: [YourService], 
    directives: [ChildComponent], 
    template: `<child-component></child-component>` 
}) 
export class RootComponent {} 

...

import { Component } from '@angular/core'; 
import { YourService } from './my-servive.service.ts'; 

@Component({ 
    selector: 'child-component' 
}) 
export class ChildComponent { 
    contructor(private myService: YourService) {} 
} 

はあなたのこのヘルプを願っています。

関連する問題