⊗jsagPmSvUs 76 of 97 menu

Angularでのサービス使用

前のレッスンでは、独自のサービス DataServiceを作成しました。 それでは、これをコンポーネントにインポートしてみましょう:

import { Component } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { DataService } from './data.service'; // ここ

デコレータ @Component のプロパティ providers に、私たちのサービスを指定する必要があります:

@Component({ ..... providers: [ DataService ] // ここ })

ここで、依存性の注入 (dependency injection) と呼ばれる特別なアプローチを利用します。 その本質は、コンポーネントのコンストラクタでサービスをパラメータとして渡すことができ、 それが自動的にコンポーネントのプライベートプロパティに格納されることにあります。 コードをご覧ください:

export class AppComponent { constructor(private dataService: DataService) { // 依存性を注入 console.log(this.dataService); // サービスはプライベートプロパティ内 } }

依存性の注入が私たちのサービスに対して機能するのは、 以前にデコレータ Injectable を適用したためです。

では、コンポーネントクラスのコンストラクタ内で、 対応するメソッドを呼び出してサービスからデータを取得しましょう:

export class AppComponent { public data: string[] = []; constructor(private dataService: DataService) { this.data = this.dataService.getData(); } }

取得したデータをコンポーネントのテンプレートに出力してみましょう:

<ol> <li *ngFor="elem of data"> {{ elem }} </li> </ol>

コンポーネント内で、あなたのサービスから商品を取得し、 コンポーネントのテンプレートに出力してください。

あなたのサービスに、新しい商品を追加するメソッドを作成してください。 コンポーネントにボタンを作成し、クリックすると新しい商品が追加されるようにしてください。

2つの入力フィールドとボタンを持つフォームを作成してください。 ボタンを押すと、新しい商品が追加されるようにしてください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否