嗨,在我的專案中尋求幫助問題是,我正在努力解決一個錯誤 https://github.com/abhijitutkarsh/buyandsell/blob/main/src/app/listing-detail-page/listing-detail-page.component。 ts 上面的鏈接在編譯時有代碼庫顯示錯誤說
src/app/listing-detail-page/listing-detail-page.component.ts:20:5 - error TS2322: Type 'Listing | undefined' is not assignable to type 'Listing'.
Type 'undefined' is not assignable to type 'Listing'.
20 this.listing = fakeListings.find(listing => listing.id === id);
基本上是關于顯示來自 fake-data.ts 的資料的代碼。在這里,我從路由器 url 獲取 id。只是卡在這里。這個問題有點小,無法識別
uj5u.com熱心網友回復:
當 find 沒有找到結果時,它可能會回傳 undefined。您可以將 undefined 添加到串列型別:
listing: Listing | undefined;
constructor(
private route: ActivatedRoute,
) { }
ngOnInit(): void {
const id = this.route.snapshot.paramMap.get('id');
this.listing = fakeListings.find(listing => listing.id === id);
}
或者檢查是否有結果:
listing: Listing;
constructor(
private route: ActivatedRoute,
) { }
ngOnInit(): void {
const id = this.route.snapshot.paramMap.get('id');
const fakeListing = fakeListings.find(listing => listing.id === id);
if (fakeListing !== undefined){
this.listing = fakeListing;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/485638.html
