Что означают эти три строки в файле App module.ts Angular - PullRequest
0 голосов
/ 17 марта 2020

Это Angular appmodule.ts файл

<code><pre>

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { UploadModule } from '@progress/kendo-angular-upload';
import { UploadComponent } from './upload.component';
import { UploadInterceptor } from './app.component';
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { AppComponent } from './app.component';

@NgModule({
    imports:      [ BrowserModule, HttpClientModule, UploadModule, BrowserAnimationsModule, FormsModule, ReactiveFormsModule ],
    declarations: [ AppComponent, UploadComponent ],
    bootstrap:    [ AppComponent ],
    providers: [
      {
        provide: HTTP_INTERCEPTORS,
        useClass: UploadInterceptor,
        multi: true
      }
    ]
  })

  export class AppModule { }

Что означает и использует эти три строки? Что такое useClass и что такое multi в providers?

providers: [
    {
        provide: HTTP_INTERCEPTORS,
        useClass: UploadInterceptor,
        multi: true
    }

Я видел этот пример на онлайн-портале, поэтому хочу разобраться в этой конфигурации в провайдере и использовании этих параметров. Я видел этот пример онлайн Angular + пример загрузки файла telerik.

1 Ответ

1 голос
/ 17 марта 2020

Добавляет HttpInterceptor (provide: HTTP_INTERCEPTORS устанавливает токен, который вы можете извлечь перехватчиком из инжектора) в ваш контейнер внедрения зависимостей.

useClass: UploadInterceptor предоставляет класс, который должен быть введен , UploadInterceptor - это класс, который реализует интерфейс HttpInterceptor (https://angular.io/api/common/http/HttpInterceptor).

multi: true означает, что могут быть зарегистрированы несколько HttpInterceptor, а не только один. Если вы не установите этот параметр, HttpInterceptor будет синглтоном в области поставщиков.

Вы можете прочитать все об этом topi c в официальных документах Angular (https://angular.io/guide/dependency-injection-providers).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...