簡體   English   中英

Angular 2 最終版本和文檔“英雄之旅”

[英]The Angular 2 final release and the documentations "The Tour of Heroes"

過去 2 天我一直在看 Angular 2,我是新來的,所以我直接去了“官方文檔” ,這是英雄之旅的例子,沒關系“很好”教程,我按照步驟,我可以從中了解很多,當我到達 HTTP 部分以及如何訪問數據源問題開始出現時,我不確定這是我的初學者還是文檔不是最新的最終版本,:/ 谷歌人,一家大公司,你們不能把這個任務分配給一個團隊來處理文檔並隨着版本的發布保持更新? 我認為由於某些原因,這樣的任務是強制性的,這是公司的責任或 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[] 部分重新顯示時,我會在此處輸入圖像描述,一旦我點擊“one hero”,我也什么也沒有得到,網址如下: 4200/details/undefined 通知而不是我得到 undefined 的英雄 Id ?! 無論如何,我注意到在一些人“輔導”angular 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"

}

那么任何人都可以幫助或分享一些官方的並且與最終版本兼容的東西? 我希望谷歌人注意和照顧文檔,不是每個人都是專家。

您必須修復該行:

import { InMemoryWebApiModule } from 'angular-in-memory-web-api';

到:

import { InMemoryWebApiModule } from 'angular2-in-memory-web-api';

你錯過了2 ...

同樣在in-memory-data.service.ts文件中修復它

文檔中有錯誤

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM