Указатель NULL
- это тот, который указывает на никуда. Когда вы разыскиваете указатель p
, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p
является нулевым указателем, местоположение, хранящееся в p
, является nowhere
, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception
.
В общем, это потому, что что-то не было правильно инициализировано.
Я предполагаю, что вы можете использовать BehaviorSubject
здесь:
showContent = new BehaviorSubject(false)
...
this.httpDataHandler.get<...>(...).subscribe(response => {
// lots of stuff
showContent.next(true);
});
...
*ngIf="showContent | async"
или использовать ChangeDetectorRef
constructor(private cdr: ChangeDetectorRef) {}
...
this.httpDataHandler.get<...>(...).subscribe(response => {
// lots of stuff
showContent = true;
this.cdr.markForCheck();
});
...
*ngIf="showContent"
В общем, когда у вас есть такие проблемы, вы пытаетесь извлечь данные из ваших наблюдаемых слишком рано. У вас может быть лучшее решение с некоторым рефакторингом, где вы бы избежали подписки. Но без полного кода трудно сказать, как ...