Angular Star Rating (星評価) の概要

    Angular の評価は、星評価システムを使用して、ユーザーが Web ページ上でフィードバックを迅速に提供し、製品またはサービスを評価できるようにするウィジェットを表します。使いやすいこのコンポーネントにより、開発者は表示される星評価項目のサイズと数を構成できます。

    Ignite UI Angular Star Rating コンポーネントは、igniteui-webcomponents パッケージから簡単にインストールできます。エンドユーザーに直感的な評価エクスペリエンスを提供し、製品 / サービスを表示して評価できるようにします (通常、最も一般的なシナリオでは、0 から 5 までの星から選択するオプションがあります)。

    Angular Rating の例

    この Angular Star Rating の例では、Ignite UI Angular を使用して単純な 5 つ星評価ウィジェットを作成し、さまざまな製品のスコアを比較および表示する方法を示します。

    Ignite UI for Angular Star Rating の概要

    Ignite UI Rating は標準のウェブ コンポーネントであるため、Angular アプリケーションで使用できます。

    以下の手順に従って、Ignite UI Web Components のパッケージを Angular プロジェクトに追加し、コンポーネントを使用するためにセットアップします。

    最初に、igniteui-webcomponents パッケージをインストールします。

    npm install igniteui-webcomponents --save
    

    次に、main.ts ファイルまたは IgcRating を使用しているコンポーネントの .ts ファイルで IgcRatingComponent 引数を指定して defineCustomElements() 関数を呼び出す必要があります。

    import { defineComponents, IgcRatingComponent } from 'igniteui-webcomponents';
    
    defineComponents(IgcRatingComponent);
    

    また、AppModuleCUSTOM_ELEMENTS_SCHEMA スキーマを含める必要があります。

    import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
    
    @NgModule({
        schemas: [CUSTOM_ELEMENTS_SCHEMA]
    })
    export class AppModule {}
    

    これらを使用して、Angular コンポーネント テンプレートに Rating コンポーネントを追加し、その入力と表示を使用できるようになります:

    <igc-rating value="ratingVal" min="1" max="5" (igcChange)="ratingChanged($event);"></igc-rating>
    

    フォームで Angular Star Rating を使用する

    Angular フォームでは、多くの場合、コンポーネントはその値を ngModel にバインドしたり、Angular の ControlValueAccessor インターフェイスの実装を必要とする formControl を使用したりできる必要があります。Ignite UI for Angular パッケージは、要素セレクターを使用してサポートされているウェブ コンポーネントにアタッチするディレクティブの形式で、このような実装を提供します。現在、サポートされているコンポーネントは IgcRating のみです。ディレクティブを使用するには、ライブラリから IgcFormsModule をインポートするだけです。

    import { IgcFormsModule } from 'igniteui-angular';
    // import { IgcFormsModule } from '@infragistics/igniteui-angular'; for licensed package
    
    @NgModule({
        imports: [
            IgcFormsModule
        ]
    })
    export class AppModule { }
    
    Note

    IgcFormsModule をインポートして ngModel または formControl を使用する場合、Angular はカスタム ControlValueAccessor ディレクティブによって igc-rating タグを認識するため、CUSTOM_ELEMENTS_SCHEMA を含める必要はありません。

    あるいは、16.0.0 以降、IgcFormControlDirective をスタンドアロンの依存関係としてインポートできます。

    // home.component.ts
    
    import { FormsModule } from '@angular/forms';
    import { IgcFormControlDirective } from 'igniteui-angular';
    // import { IgcFormControlDirective } from '@infragistics/igniteui-angular'; for licensed package
    
    @Component({
        selector: 'app-home',
        template: '<igc-rating name="modelRating" [(ngModel)]="product.Rating" max="10" label="Model Rating"></igc-rating>',
        styleUrls: ['home.component.scss'],
        standalone: true,
        imports: [IgcFormControlDirective, FormsModule]
    })
    export class HomeComponent {
        public product: Product;
    }
    

    たとえば、値に ngModel を使用して評価を追加すると、問題なくモデルと双方向にバインドされます。

    <igc-rating name="modelRating" [(ngModel)]="model.Rating" max="10" label="Model Rating"></igc-rating>
    

    次のアプリケーションは、フォームを使用した実際のユースケースでこの統合がどのように機能するかを示す一例です。

    Rating コンポーネントの使用方法の詳細については、このトピックを参照してください。