【问题标题】:Angular 6 - Tour of Heroes - getHero - Error 404Angular 6 - 英雄之旅 - getHero - 错误 404
【发布时间】:2019-03-14 01:25:48
【问题描述】:

我正在关注https://angular.io/tutorial/toh-pt6 的 Angular 6 Tour of Heroes 教程,一切正常。内存服务适用于仪表板,英雄列表显示正常。

但是当一个英雄被点击并且英雄详情的组件getHero()方法被执行时,即使“id”参数被传递了正确的值,内存中的服务并没有返回英雄对象,并且FireFox开发者工具控制台显示错误 404“未找到”的响应。

我将我的代码与教程页面上发布的代码进行了比较,直到它们相同。我已经在网上搜索、阅读并尝试了几个建议的修复方法,但都没有积极的结果。

我很确定我已逐步按照教程进行操作,但此时我需要一些帮助。为什么调用该方法通过id获取一个英雄失败,而检索所有英雄的方法却可以正常工作?如果有人经历过同样的经历并且可以分享一些关于这个 404 错误的信息,我将不胜感激。 TIA

最好的问候,

瑞克

【问题讨论】:

  • 下载提供的工作解决方案并与您自己的解决方案进行比较
  • 您是否只是检查了那里的代码并查看它是否有效?我发现 Angular 文档跟不上发展的步伐,尤其是 Angular 6。可能是错误不在你这边。

标签: angular http-status-code-404 angular-tour-of-heroes


【解决方案1】:

我也遇到了同样的问题。我希望有人可以提供更优雅的解决方案,但这是我修复它的方法。

替换这个块:

return of(HEROES.find(hero => {
      hero.id === id;
    }))

用这个块:

let thisHero;
    for (let i = 0; i < HEROES.length; i++) {
      if (HEROES[i].id === id) {
        thisHero = HEROES[i]
      }
    }
return of(thisHero);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-03
    • 1970-01-01
    • 1970-01-01
    • 2017-03-26
    • 1970-01-01
    • 1970-01-01
    • 2017-04-22
    相关资源
    最近更新 更多