我正在遵循来自https://angular.io/tutorial/toh-pt6的Angular 6 Tour of Heroes教程,一切运行正常。内存服务适用于仪表板,并且英雄列表显示正常。
但是,当单击英雄并执行英雄详细信息的组件getHero()方法时,即使使用正确的值传递"id“参数,内存中的服务也不会返回英雄对象,并且FireFox开发人员工具控制台将显示带有错误404”未找到“的响应。
我已经将我的代码与教程页面上发布的代码进行了比较,直到它们相同。我已经在网上搜索,阅读并尝试了几个建议的修复方法,但都没有积极的结果。
我确信我已经一步一步地遵循了教程,但在这一点上我需要一些帮助。为什么调用这个方法来通过id获取一个英雄失败了,而检索所有英雄的方法工作得很好?如果有任何人经历过同样的经历,并能分享一些关于这个404错误的信息,我将非常感激。提亚
诚挚的问候,
瑞克
发布于 2020-01-14 06:08:01
我也遇到过同样的问题。我希望有人能提供更优雅的解决方案,但以下是我修复它的方法。
替换此块:
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);https://stackoverflow.com/questions/52718106
复制相似问题