首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular11:类型“”Subscription“”缺少类型“”HomeData“”的以下属性:

Angular11:类型“”Subscription“”缺少类型“”HomeData“”的以下属性:
EN

Stack Overflow用户
提问于 2021-03-28 20:17:23
回答 1查看 70关注 0票数 0

我正在尝试从后端服务器检索数据,但我收到以下错误:类型'Subscription‘缺少类型’HomeData‘的以下属性: aSes、aggregatorChanges、announces、beaconAnnouncements和11更多。

我正在使用以下服务

代码语言:javascript
复制
export class HomeService {

  constructor(private http: HttpClient) { }


getData(): Observable<HomeData>{
  return this.http.get<HomeData>('https://bgpie.net/api/rrc/00');

}
}

和以下接口:

代码语言:javascript
复制
export interface HomeData{
aSes: number;
aggregatorChanges: number;
announces: number;
beaconAnnouncements: number;
beaconSequences: number;
beaconWithdrawals: number;
cPs: number;
containingLoops: number;
containsAggregator: number;
moreThanOneAsOrigin: number;
prefixes: number;
prefixv4: number;
prefixv6: number;
sequences: number;
withdraws: number;
}

我在组件中调用getData(),如下所示:

代码语言:javascript
复制
export class HomeComponent implements OnInit {
  elements!: HomeData;
  constructor(private http: HttpClient,
              private homeService: HomeService) {
   }

  ngOnInit(): void {
    this.elements = this.homeService.getData().subscribe((data: HomeData) => {this.elements = data; });
  }

我把所有这些都放到了我的html模板中。

代码语言:javascript
复制
<ul>
  <li *ngFor = "let element of elements">
    Total number of Sequences: <b>{{element.sequences}}</b>
    <br>Distinct Prefixes involved in Sequences: <b>{{element.prefixes}}</b>
    <br>BGP Updates involved in Sequences: /// (Announces: <b>{{element.announces}}</b>, Withdrawals: <b>{{element.withdraws}}</b>)
    <br>Total number of BGP Updates collected by RRC00 in 2019: /// (Announces: ///, Withdraws: ///)
    <br>Percentage of BGP Updates belonging to Sequences: /// (Announces: ///, Withdrawals: ///)
    <br>Distinct Collctor Peers (CPs) that observed at least a Sequences: <b>{{element.cPs}}</b>
    <br>Distinct ASes originating the prefexes involved in the Sequences: <b>{{element.aSes}}</b>
    <br>Number of AB-BA Sequences (whose AS-path contains pattern xAyBz and x'By'Az'): <b>{{element.containingLoops}}</b>
    <br>Sequences that are originated by an IPv4 Prefix: <b>{{element.prefixv4}}</b>
    <br>Sequences that are originated by an IPv6 Prefix: <b>{{element.prefixv6}}</b>
    <br>Sequences whose prefix is announced by more than one AS: <b>{{element.moreThanOneAsOrigin}}</b>
    <br>Sequences that contain at least one announcement with the BGP Path Attribute Aggregator set: <b>{{element.containsAggregator}}</b>
    <br>Sequences that contain at least two announcement with different values of the BGP Path Attribute Aggregator: <b>{{element.aggregatorChanges}}</b>
    <br>Sequences originated by a known beacon prefix: <b>{{element.beaconSequences}}</b>
    <br>BGP Updates originated by a known beacon prefix: <b>{{element.beaconAnnouncements + element.beaconWithdrawals}}</b> (Announcements: {{element.beaconAnnouncements}}, Withdrawals: {{element.beaconWithdrawals}})
    <br>Percentage of BGP Updates originated by a known beacon prefix: /// (Announcements: ///, Withdrawals: ///)
  </li>
</ul>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-28 20:20:46

您将订阅赋值给变量elements。相反,它应该如下所示

代码语言:javascript
复制
ngOnInit(): void {
  this.homeService.getData().subscribe(
    (data: HomeData) => { this.elements = data; },
    (error: any) => { /* handle error */ }
  );
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66841342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档