Как добавить несколько служб в один компонент в Angular

#angular #service #components

#angular #Обслуживание #Компоненты

Вопрос:

ОШИБКА в src/app/header1/header1.component.ts:3:30 — ошибка TS2306: файл ‘F:/Angular-projects/lawyer-listing/src/app/services/state.service.ts «это не модуль.

 3 import { StateService } from '../services/state.service';
                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/app/app.module.ts:40:30 - error TS2306: File 'F:/Angular-projects/lawyer-listing/src/app/services/state.service.ts' is not a module.

40 import { StateService } from './services/state.service';
                                ~~~~~~~~~~~~~~~~~~~~~~~~~~
  

Комментарии:

1. вы экспортировали этот сервис или использовали @Injectable({ providedIn:’root’ }) выше класса?, вы создали два разных сервиса с одинаковым именем? если это так, переименуйте один из них

Ответ №1:

Вы не можете импортировать сервис много раз, также вам нужно создать свой сервис injectable , для нескольких сервисов вы можете определить сервисы, как показано ниже, или создать methods в рамках сервиса.

 --cart
  -- cart.component.ts
  -- ***

-- yourServiceFolder
  -- state.service.ts
  -- another.service.ts
  

state.service.ts

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

@Injectable({
   providedIn: 'root'
})

export class StateService {
     myServiceMethod(){
        //return
     }
}
  

cart.component.ts

 import { Component, OnInit, Input } from '@angular/core';
import { StateService } from '../yourServiceFolder/state.service';
import { AnotherService } from '../yourServiceFolder/another.service';

***

constructor(
   private stateService: StateService,
   private anotherService: AnotherService
) { }