MovieDB API предоставит вам подробную информацию о mov ie, если вы передадите идентификатор mov ie. И у каждого mov ie будут такие детали, как название, режиссер, актеры, изображение плаката и т. Д. c. В этом случае создайте общий шаблон, используя сведения, полученные из API, а затем просто замените значения в шаблонных заполнителях. Это так просто.
Mov ie компонент:
@Component({
selector: 'my-movie',
template: `
<ng-container *ngIf="movie">
<h1>{{ movie.name }}</h1>
<p>Director: {{ movie.director }}</p>
<p>Comics: {{ movie.comics }}</p>
</ng-container>
`
})
export class MovieComponent implements OnInit {
movie: any;
constructor(private movieService: MovieService, private route: ActivatedRoute) {}
ngOnInit() {
/**
* Subscribes to route changes
* If route params changes, get the movie id from URL
* and get the info about the movie from IMDB API
*/
this.route.params
.pipe(
map(params => +params['id']),
switchMap(id => this.movieService.getInfo(id))
)
.subscribe(info => this.movie = info);
}
}
Вы можете найти полный пример здесь в Stackblitz. Я просто использую жестко запрограммированные данные в файле MovieService. Замените их вашими вызовами API, и все должно работать как есть.