Я пытаюсь загрузить локальный JSON в компонент
Мой код, как показано ниже:
service.ts
export class GameService {
constructor(private httpClient: HttpClient) {}
loadGameInfo(): Observable<Game> {
return this.httpClient.get<Game>('/assets/mock/game_info.json');
}
}
store.ts
export class GameStore {
private gameSubject = new BehaviorSubject(new Game());
public game: Observable<Game> = this.gameSubject.asObservable();
private isInitialized = false;
constructor(private gameService: GameService) {}
public loadIfEmpty(): void {
if (!this.isInitialized) {
this.isInitialized = true;
this.load();
}
}
public load(): void {
this.gameService
.loadGameInfo()
.pipe(
tap((game: Game) => {
this.gameSubject.next(game);
})
)
.subscribe();
}
public getGame(): Game {
return this.gameSubject.getValue();
}
}
component.ts
export class GameInfoComponent implements OnInit {
constructor(
private gameStore: GameStore) {}
ngOnInit() {
this.gameStore.loadIfEmpty();
console.log('info: ' + JSON.stringify(this.gameStore.getGame()));
}
}
Проблема:
Если я обновляю страницу браузера, gameStore
не загружает данные, я получаю журнал, как показано ниже:
информация: {}
Любое предложение приветствуется