我正在关注着名的角色教程,英雄之旅,但我正在努力迈出一步。
在sixth course, HTTP上,我们使用了一个模仿API调用API的工具。
我想我已按照所有步骤进行操作,直至this point,其中说明了以下内容:
刷新浏览器。英雄数据应该从模拟服务器成功加载。
但我可能错过了一些内容:http调用都会给出http 500标题,错误为Object(...) is not a function
。
我是否错过了创建路线的方法?对我来说,似乎奇怪的是inMemory wep API似乎不需要路由。
我的测试代码可在此处找到:https://github.com/MarcBrillault/tourOfHeroes/tree/StackOverflow
答案 0 :(得分:14)
以下是我需要做的,以便在从您的回购中提取代码后运行代码。
首先,降级为angular-in-memory-web-api@0.5.4
。这意味着将 package.json 中的版本更改为^0.5.4
并运行npm i
。
"angular-in-memory-web-api": "^0.5.4",
我听说有些人在使用angular-in-memory-web-api
的0.6.0版本时遇到了问题,所以这是我尝试过的第一步。
根据this,angular-in-memory-web-api
版本0.6.0需要 Angular" ^ 6.0.0-rc.0"和RxJS" ^ 6.0.0-beta.1" 。
因此,降级应该会让您继续学习本教程。准备好后,请随意转到上面的Angular和RxJS版本。
然后,我需要在 hero.service.ts 中进行这些更改。
添加了此导入:
import { of } from 'rxjs/observable/of';
改变这个:
getHero(id: number): Observable<Hero> {
return Observable.of({id: 1, name: 'test'});
}
到此:
getHero(id: number): Observable<Hero> {
return of({id: 1, name: 'test'});
}
所有人都在这之后工作。希望这会帮助你。