前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Angular应用一个创建场景的问题分析

Angular应用一个创建场景的问题分析

作者头像
Jerry Wang
发布2020-08-24 11:55:45
4650
发布2020-08-24 11:55:45
举报

问题描述:在hero Component页面创建hero:

成功创建了一个新的hero,id为21:

然而进入detail页面之后,看不到这个新建的hero:

问题排查:

Hero detail页面,基于的属性是这个加了@Input annotation的hero:

这个属性的赋值是在ngOnInit的getHero方法里,该方法会调用heroService的getHero方法。

进入getHero方法进行调试,发现heroService的getHero方法返回的hero是undefined的:

原因是因为hero service当前的实现只是从mock hero数据里取值,而新建的hero没有加入到这个mock hero数据里:

重新使用http client实现getHero即可:

代码语言:javascript
复制
getHero(id: number): Observable<Hero> {
  const url = `${this.heroesUrl}/${id}`;
  return this.http.get<Hero>(url).pipe(
    tap(_ => this.log(`fetched hero id=${id}`)),
    catchError(this.handleError<Hero>(`getHero id=${id}`))
  );
}

修复之后,这个新建的hero也能在明细页面里显示了:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-08-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档