Вы можете получить счет в двух компонентах следующим образом:
- Создайте
shared.service.ts
, в котором вы объявляете метод установки getter следующим образом и добавляете в App.module.ts
;
// shared.service.ts
import { Injectable } from '@angular/core';
@Injectable()
export class SharedService {
public count =0;
setCount(countValue:number){
this.count+= countValue;
}
getCount():number{
return this.count;
}
}
Сервисы, объявленные в app.module, имеют область действия во всем приложении и инициализируются только один раз
Так что вы сомневаетесь, что: "это будет инициализировать счет снова в 0 в другом модуле. Я хочу обновить этот счет в одном модуле и получить доступ к этому измененному счету в другом модуле "не произойдет.
Теперь в каждом компоненте, где вы хотите использовать счетчикпросто вызовите функции setter и getter используя общую службу.
Вот рабочий пример:
https://stackblitz.com/edit/angular-ft4etg
PS: хотя в примере нет отложенной загрузкиреализовано, но для понимания поведения достаточно.