最近2天我一直在看Angular 2,我是新手,所以我直接"the official documentation"这是英雄之旅的例子,它是好的“只是确定”教程我遵循了步骤,我可以从中了解很多,当我到达HTTP部分,如何获取访问数据源的问题开始弹出,我不确定这是否是我的初学者或文档是不是达到 - 最终版本的日期:/ Google人员,一家大公司,你们不能将这项任务分配给负责文档并随着版本更新的团队?我认为这样的任务是强制性的,由于某些原因,它是公司的责任或Angular 2项目团队的责任,它是新版本,它与angularjs 1.x完全不同,所以你们不认为你应该提供可靠的可靠支持以最新文档的形式对吗?除非你希望React处于领先地位;)
如果有人知道http的良好文档以及如何检索修改保存和删除数据并且它与最终版本兼容请分享它,现在我在英雄之旅教程中遇到的问题是我得到错误因为这一行:
import { InMemoryWebApiModule } from 'angular-in-memory-web-api';
无法找到模块'angular2-in-memory-web-api'
我很好,我不会在内存web Api中使用它,所以我创建了asp.net web Api,它工作正常,这里是Heroes Controller中的GetHeroes方法,它是如此直接:
// GET: api/Heroes
public IQueryable<Hero> GetHeroes()
{
return db.Heroes;
}
当然我测试了方法,它返回所有的英雄,所以api工作得很好,现在这是来自hero.service.ts的方法:
getheroes(): Promise<Hero[]>
{
return this.http.get(this.heroesUrl)
.toPromise()
.then(response => response.json().data as Hero[])
}
好吧我没有错误,但数据显示没有任何字面上的东西,但是当我重新将.data作为Hero []部分时,我得到enter image description here 一旦我点击“一个英雄”,我什么都没得到,这样的网址是这样的:4200 /细节/未定义的通知而不是英雄我得到的未定义?无论如何,我注意到在许多人的视频中“辅导”角度2,没有共同的步骤来处理Http来访问数据并通过api进行CRUD操作,每个人都以不同的方式进行操作,而事情就是当我试图关注时它只是没有使用我的东西,这来自我的package.json:
"dependencies": {
"@angular/common": "2.0.0",
"@angular/compiler": "2.0.0",
"@angular/core": "2.0.0",
"@angular/forms": "2.0.0",
"@angular/http": "2.0.0",
"@angular/platform-browser": "2.0.0",
"@angular/platform-browser-dynamic": "2.0.0",
"@angular/router": "3.0.0",
"core-js": "^2.4.1",
"rxjs": "5.0.0-beta.12",
"ts-helpers": "^1.1.1",
"zone.js": "^0.6.23"
},
"devDependencies": {
"@types/jasmine": "^2.2.30",
"angular-cli": "1.0.0-beta.15",
"codelyzer": "~0.0.26",
"jasmine-core": "2.4.1",
"jasmine-spec-reporter": "2.5.0",
"karma": "1.2.0",
"karma-chrome-launcher": "^2.0.0",
"karma-cli": "^1.0.1",
"karma-jasmine": "^1.0.2",
"karma-remap-istanbul": "^0.2.1",
"protractor": "4.0.5",
"ts-node": "1.2.1",
"tslint": "3.13.0",
"typescript": "2.0.2"
}
所以任何人都可以帮助或分享官方的内容并与最终版本兼容?我希望Google员工关注并关注文档,而不是每个人都是专家。
答案 0 :(得分:0)
你必须修理这条线:
import { InMemoryWebApiModule } from 'angular-in-memory-web-api';
要:
import { InMemoryWebApiModule } from 'angular2-in-memory-web-api';
你错过了2
...
同样在in-memory-data.service.ts
文件中修复
文档中有错误