我能做些什么来摆脱这个错误?HTML中的接口变量有效,但会引发Console TypeError?
ERROR TypeError: Cannot read property 'feed' of undefined
我有:
- 的接口(SpreadsheetTabs),其定义了从一个谷歌电子表格
- ,妥善返回JSON作为该接口类型
A服务一些复杂的JSON spreadsheet-tabs.service.ts
getTabs(): Promise<SpreadsheetTabs> {
return this.http.get(this.tabsUrl)
.toPromise()
.then(response => this.extractData(response.json() as SpreadsheetTabs[]))
.catch(this.handleError);
}
个
home.component.ts
import { Component, OnInit } from '@angular/core';
import { SpreadsheetTabs } from '../models/SpreadsheetTabs';
import { SpreadsheetTabsService } from '../services/spreadsheet-tabs.service';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.css']
})
export class HomeComponent implements OnInit {
theTabs: SpreadsheetTabs;
constructor(private spreadsheetTabsService: SpreadsheetTabsService) { }
ngOnInit(): void {
this.spreadsheetTabsService.getTabs()
.then(tabs => {
// assign results returned to variable
this.theTabs = tabs;
// I can loop through here - no errors
for (const oneTab of this.theTabs.feed.entry) {
console.log(oneTab.title.$t + ' - ' + oneTab.link[0].href + '?alt=json');
}
});
}
}
home.component.html
<p>
loop also works here, but throws console TypeError above
</p>
<h3>tabs list:</h3>
<div *ngFor="let oneTab of theTabs.feed.entry">
<h4>{{oneTab.title.$t + ' - ' + oneTab.link[0].href + '?alt=json'}}</h4>
</div>
请添加您的SpreadsheetTabs接口c ö – Faisal
太大,不能在这里发帖 – Mathias