Может ли кто-нибудь помочь увидеть, есть ли синтаксическая ошибка здесь в моем шаблоне? Он не дает ошибок, но не заполняет данные в шаблоне.
<div *ngIf="(hero | async)">
<h2>{{hero}}</h2>
<h2>{{hero.name}} details!</h2>
<div>
<label>_id: </label>{{hero._id}}</div>
<div>
<label>name: </label>
<input [(ngModel)]="hero.name" placeholder="name" />
</div>
<button (click)="goBack()">Back</button>
</div>
Компонентный код
export class HeroDetailComponent implements OnInit {
errorMessage: string;
//@Input()
hero: Observable<Hero>;
constructor(
private _heroService: HeroService,
private _routeParams: RouteParams) {
}
ngOnInit() {
let _id = +this._routeParams.get('_id');
this._heroService.loadHero(_id);
this.hero = this._heroService.hero$;
this.hero.subscribe(data =>
console.log(data)
)
}
Отпечатки console.log(data) Объект {_id: 11, имя: "Mr. Nice" } что я правильно понял.
Также отображается блок <div>
, что означает * ngIf видит объект как не пустой.
<h2>{{hero}}</h2>
показывает [объект Object].
Но почему {{hero.name}} не отображается?