角度6-英雄之旅-getHero-错误404

问题描述 投票:0回答:1

我正在按照https://angular.io/tutorial/toh-pt6的《 Angular 6英雄之旅》教程学习,一切都很好。内存服务适用于仪表板,并且英雄列表显示良好。

但是当单击英雄并执行英雄详细信息的组件getHero()方法时,即使以正确的值传递了“ id”参数,内存服务和FireFox开发人员也不会返回任何英雄对象工具控制台显示响应为错误404“未找到”。

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

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

最诚挚的问候,

Rick

angular http-status-code-404 angular-tour-of-heroes
1个回答
0
投票

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

替换此块:

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);
© www.soinside.com 2019 - 2024. All rights reserved.