non ho mai avuto tanti problemi in angular come su questo template (a questo punto penso sia il template che ha qualche impostazione che non conosco).
allora, ho questo service:
nel componente faccio questo:codice:getById(id: number): Observable<Mostra> { const url = 'assets/fake_data/mostre.json'; return this.http.get<Mostra[]>(url).pipe( map( dd => dd.find(res => res.id == id) ) ); }
poi nella pagina:codice:import {Component, OnInit} from '@angular/core'; import {ActivatedRoute} from '@angular/router'; import {Mostra} from '../../../../_interfaces/mostra'; import {Opera} from '../../../../_interfaces/opera'; import {MostreService} from '../../../../_services/mostre.service'; import {Title} from '@angular/platform-browser'; import {Observable} from 'rxjs'; @Component({ selector: 'app-mostra', templateUrl: './mostra.component.html', styleUrls: ['./mostra.component.scss'] }) export class MostraComponent implements OnInit { id: string; titolo: string; mostra: Observable<Mostra>; constructor( private route: ActivatedRoute, private titleService: Title, private mostreSrv: MostreService, ) { } ngOnInit(): void { this.id = this.route.snapshot.paramMap.get('id') ?? '0'; this.titolo = 'ND'; this.getData(); } getData(): void { this.mostra = this.mostreSrv.getById(Number(this.id)); this.mostra.subscribe(obj => { this.titleService.setTitle(obj.titolo); this.titolo = obj.titolo; }); } }
questo quello che vedo:codice:<p>{{mostra | async}}</p> <p>{{titolo}}</p>
dove sbaglio???codice:[object Object] ND

Rispondi quotando