Есть ли у Angular базовый класс обслуживания или функция библиотеки? - PullRequest
0 голосов
/ 08 ноября 2019

Я пишу базовый сервис на Angular. Эта базовая служба (первый класс ниже) очень универсальна и широко реализована в программе (для многих функциональных областей)

Просто любопытно, есть ли в Angular встроенная библиотечная функция для ее замены (только первый класс ниже). Я заметил, что в Angular нет зарезервированного слова для Service, только класс экспорта. В итоге у нас просто есть много провайдеров для этого

Не стесняйтесь редактировать сервис, если необходимо, чтобы сделать его более простым или если у Angular есть библиотека для сервиса.

Сервис:

export class BasicService {

  private messageSource = new Subject();
  currentMessage = this.messageSource.asObservable();

  constructor() { }

  changeMessage(currentMessage) {
    this.messageSource.next(currentMessage);
  }
}

Отправитель:

  this.subs.add(this.productForm.valueChanges.subscribe(data => 
    {
      this.basicService.changeMessage(this.productForm);
    }));
  }

Получатель:

this.productService.currentMessage.subscribe(currentMessage => {
  this.productMessage= currentMessage;
  this.orderData = this.productMessage.value;

})

В основном используется везде:

  providers: 
    { provide: 'ProductService', useClass: BasicService },
    { provide: 'BillingService', useClass: BasicService }
  ]


  @Inject('ProductService') private productService: BasicService ,
  @Inject('BillingService') private billingService: BasicService ,

1 Ответ

0 голосов
/ 08 ноября 2019

в Angualr вы можете просто создать класс обслуживания с помощью приведенной ниже команды. Также к службе Angular можно получить доступ из любого компонента вашего приложения

ng generate sampleService

, после чего вы получите структуру кода, подобную приведенной ниже

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

@Injectable({
   providedIn: 'root',
})
export class SampleService {

    constructor() { }
    getSample(): string {
        return "Invoked";
    }

}

После инициализации службы вы можете использовать ее где угодно в своем коде, а я внедряю ее в конструктор компонента.

import { SampleService } from '../sampleService.service';

внедряю службу, как показано ниже

constructor(private SampleService: Sample) { }

и может использоватьлюбой сервис, вызывая сервисные функции, как показано ниже.

getSamplesService(){
     let value = this.SampleService.getSample();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...