Я новичок в Angular, и мой вопрос может показаться простым, но некоторые рекомендации будут оценены. В настоящее время я пишу приложение, чтобы научить себя некоторым реальным навыкам разработки. В моем приложении у меня есть компонент Angular, который импортирует написанную мной службу, предоставляющую данные.
это мой компонент
@Component({
selector: 'music-instrument-list',
templateUrl: './instrument-report.component.html',
styleUrls: ['./instrument-report.component.css']
})
export class InstrumentReportComponent implements OnInit, OnDestroy {
constructor(public apiService: ApiService) {}
public availableInstruments: any[];
ngOnInit() {
this.apiService.getInstruments().subscribe((result) => {
this.availableInstruments = result;
});
}
ngOnDestroy() {
// how do I unsubscribe?
}
}
Это довольно просто, но если я попытаюсь добавить this.apiService.getInstruments.unsubscribe()
в блок ngOnDestroy
, я получу ошибку, что Pсвойство 'unsubscribe' не существует для типа => Observable'. Я даже думал добавить .unsubscribe()
после .subscribe()
, как цепочку, но это просто заставляет мою страницу зависать. Я тоже не получаю ошибки. Может кто подскажет как лучше отписаться? Нужно ли мне назначать вызов API переменной, а затем использовать .unsubscribe() для имени переменной в блоке ngOnDestroy