HOWTO · Angular

Angular で Service にドキュメントをインジェクトする

サービス中のドキュメントの挿入は、HTML コンテンツを読み取って解析する方法です。

Angular には、Web アプリケーションの開発に適した多くの機能があります。これらの機能の 1つは依存性注入であり、アプリケーションの構成と保守を容易にします。

Angular では、依存性注入(DI)は、コンストラクターから依存性オブジェクトを渡すか、他の方法で依存性オブジェクトを提供することによって、依存性オブジェクトに依存性を提供するプロセスです。依存性注入は、よりテスト可能で、保守可能で、拡張可能なコードを作成するのに役立ちます。

Angular でサービス中のドキュメントを挿入

ドキュメントをサービスに挿入することは、HTML コンテンツを読み取って解析する方法です。このプロセスは、ページからデータをキャプチャしたり、特定のタグを解析したり、ドキュメントの構造を決定したりするために使用できます。

Web ページのレンダリングに必要な外部リソースを取得するので便利です。これには、HTML ドキュメントにリンクされているスクリプトとスタイルシートが含まれます。

次のコードスニペットは、これを行う方法を示しています。

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

Angular でサービス中のドキュメントを挿入する手順

Angular でドキュメントをサービスに挿入する手順は次のとおりです。

  • Angular モジュールを作成し、@ angle/http および DocumentService から HttpModule をインポートします。
  • DocumentService クラスから拡張するサービスクラスを作成します。
  • サービスのオブジェクトをサービスクラスのコンストラクターの@Injectable() アノテーションに追加します。
  • コンストラクターのパラメーターリストに挿入することにより、コンポーネントでこの新しい挿入されたドキュメントサービスを使用します。

例:

TypeScript コード:

import { Component, Inject } from '@angular/core';
import { DOCUMENT } from '@angular/common';
@Component({
    selector: 'my-app',
    templateUrl: './app.component.html',
    styleUrls: [ './app.component.css' ]
})
export class AppComponent  {
    name = 'Angular';
    constructor(@Inject(DOCUMENT) private document: Document){}
    public save(): void{
        document.execCommand('save');
    }
}

HTML コード:

<h2>Example of Injecting Document in Service</h2>
<input type="text">
<button (click)="save()">save</button>

サービスにドキュメントを挿入することには多くの利点があります。主な利点の 1つは、ドキュメントの保存方法とアクセス方法に関する柔軟性が向上することです。

また、更新を手動で適用する必要があるサーバーに保存する代わりに、ドキュメントをリアルタイムで更新または編集できることも意味します。

ここをクリックして、上記のコードのライブデモを確認してください。