В приложении angular 7 у меня есть сервис (test.service) с декоратором @Injectable()
(без предоставления In) , и он не предусмотрен в app.module, также у меня есть 2 разных модуля: client.module
и core.module
. Когда я добавляю test.service
в обоих провайдерах модуля, а затем вставляю test.service
в компонент клиента и в компонент ядра, я получаю 1 экземпляр test.service
, но я ожидал 2.
Вопрос 1: почему это происходит?
Вопрос 2: Как я могу иметь разные экземпляры службы в разных модулях?
тестовый сервис:
import { Injectable } from '@angular/core'
@Injectable()
export class TestService {
public bla = 1
constructor() {
console.log('Created')
}
}
клиентский модуль:
@NgModule({
declarations: [
ClientComponent
],
imports: [
CommonModule
],
providers: [TestService]
})
основной модуль:
@NgModule({
declarations: [
coreComponent
],
imports: [
CommonModule
],
providers: [TestService]
})
Клиентский компонент:
export class ClientComponent implements OnInit {
constructor(private ts: TestService) {}
}
Основной компонент:
export class ClientComponent implements OnInit {
constructor(private ts: TestService)
}