пример кода для демонстрации: https://stackblitz.com/edit/angular-9zjkyf
Мне нужна глобальная общая служба, к которой можно получить доступ из любой части приложения, я следовал по документации:
https://angular.io/guide/singleton-services
Я настроил пример службы, которая генерирует случайное число, и при использовании в модулях я ожидаю, что любой компонент, вызывающий службу, получит один и тот же номер, но они разные, что заставляет меня думать, что существует несколькоэкземпляры моего сервиса
service.ts
import { Injectable,OnInit } from '@angular/core';
@Injectable({
providedIn: 'root',
})
export class UserService implements OnInit {
random :number;
constructor() {
this.random = Math.random( );
}
ngOnInit() {
}
}
component.ts
import { Component, OnInit } from '@angular/core';
import { UserService } from './user.service';
import { UserModule} from './user.module';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
providers: [UserService]
})
export class AppComponent implements OnInit {
title = 'Users list';
users: User[];
rand: number;
constructor(private userService: UserService) { }
ngOnInit(): void {
this.rand = this.userService.random;
}
}