2017-07-07 29 views

答えて

-1

serviceを使用すると、コンポーネントから別のデータにデータを渡すことができます。

data.service.ts

@Injectable() 
export class DataService { 
    private data: string; 

    constructor() { 
     this.data = 'myData' 
    } 

    getData(): Promise<string> { 
    return Promise.resolve(this.data); 
    } 

    setData(data: string) { 
     this.data = data; 
    } 
} 

component A

export class ComponentA { 

    private data: string; 
    constructor(private dataService: dataService) { 
     this.getData(); 
    } 

    getData() { 
    this.dataService.getData().subscribe(
     (data) => { 
     this.data = data; 
     } 
    ) 
    } 

    setData(data: string) { 
    this.dataService.setData(data); 
    } 
} 

component B

export class ComponentB { 

    private data: string; 
    constructor(private dataService: dataService) { 
     this.getData(); 
    } 

    getData() { 
    this.dataService.getData().subscribe(
     (data) => { 
     this.data = data; 
     } 
    ) 
    } 

    setData(data: string) { 
    this.dataService.setData(data); 
    } 
} 
+0

サービスは、任意の注釈を必要としません。 –

+0

このアノテーションは、このクラスがコンストラクタに何かを注入できることを示しています。他のクラス(つまりコンポーネント)でこのクラスを取得するのは一般的ではありません。 –

+0

https://angular.io/guide/dependency-injection-in-action#injectableそのデコレータは、AngularがLoggerServiceとUserServiceという2つの依存関係の型を識別できるようにします。 –

関連する問題