Я предлагаю следующее:
HTML:
<div *ngIf="isAnimal">
<p>animal</p>
</div>
Компонент:
public isAnimal: boolean = false;
ngOnInit() {
checkAnimal();
}
private checkAnimal() {
this._dataService.getData().subscribe(
(result) => {
if (result === 'animal') {
this.isAnimal = true;
}
},
(error) => {
console.log(error);
}
);
}
Я не уверен, но я думаю, что вы могли бы использоватьвместо этого асинхронный канал использует вашу реализацию:
<div *ngIf="isAnimal$ | async">
<p>animal</p>
</div>
Причина, по которой ваше решение не работает, заключается в том, что isAnimal$
является наблюдаемой, которую необходимо разрешить.Это может сделать асинхронный канал, но я предпочитаю, чтобы первое решение было честным.Мне не кажется естественным создание еще одной наблюдаемой of(true)
в вашей подписке.