2016-11-11 66 views
0

下面的教程在這裏:https://angular.io/docs/ts/latest/tutorial/toh-pt6.html角2 HTTP(英雄教程之旅 - 角網站)

目前代碼:https://github.com/GreenAnts/Angular2-tour-of-heroes-tutorial

(注:HTTP必須正常工作,因爲我能看到的英雄,和儀表板,它們正在查看英雄......只有當我查看英雄詳細信息時,這對我來說沒有意義,因爲我從來沒有改變我能想到的英雄細節方法。)

嘗試查看英雄詳情:

Errors When viewing hero-details

Collection app not found

我不知道它是什麼,我猜想它一定是簡單的東西,我俯瞰,但我真的無法弄清楚,任何幫助,將不勝感激,因爲我我卡住了。

我在本教程中的地步,這樣說:

更新英雄細節

我們所用的主人公詳細視圖已經編輯英雄的名字。繼續 並嘗試一下。當我們鍵入時,英雄的名字在視圖標題中更新。 但是當我們點擊「後退」按鈕時,更改就會丟失!

更新沒有丟失之前,發生了什麼?當應用程序使用 模擬英雄列表時,直接對單個應用程序範圍的共享列表中的英雄對象 進行了更改。現在我們從 服務器獲取數據,如果我們想要更改持續,我們需要將它們寫回 到服務器。

起初我想,也許這是由於這個東西,但它說,我們應該能夠訪問的詳細視圖,所以我假定這是別的東西。

顯示我可以訪問數據,其他組件(沒有任何錯誤):

enter image description here

回答

1

原來要簡單得多,我應該先看着那裏。衛生署!

Your baseHref was empty。它是:

<base href="" /> 

而且應該是:

<base href="/" /> 

,你可能要解決一些其他的東西:

  • 的 「的moduleId:module.id」 中的每個組件會在包裝您的生產申請時給您帶來麻煩。
  • getHero方法的簽名返回了多個英雄:Promise of Hero數組。我將它改爲單身英雄的承諾(沒有括號。)

目前:

getHero(id: number): Promise<Hero[]> { 
    return this.getHeroes() 
    .then(heroes => heroes.find(hero => hero.id === id)) 
} 

應該是:

getHero(id: number): Promise<Hero> { 
    return this.getHeroes() 
    .then(heroes => heroes.find(hero => hero.id === id)) 
} 
  • 的HTML和定義樣式的網址並不總是可行的:

    templateUrl:」。 /templates/app.component.html',

    styleUrls:[」 ./styles/app.component.css']

預掛起在前面 '應用' 是這樣的:

templateUrl: 'app/templates/app.component.html', 
styleUrls: ['app/styles/app.component.css'] 
  • 你node_modules被存儲在Git,他們被排除在你的.gitignore中,但我猜你在忽略文件之前犯了這個錯誤。您可以安全地刪除這些本地提交,以便它們不會存儲在Git中,然後運行「npm install」以將其恢復到本地。
+0

https://github.com/GreenAnts/Angular2-tour-of-heroes-tutorial/blob/master/app/in-memory-data.service.ts https://github.com/ GreenAnts/Angular2-tour-of-heroes-tutorial/blob/master/app/app.module.ts 對不起,我還沒有真正對所有事情充滿信心,因爲我還在學習,但我認爲就是這裏設置的。雖然我想知道關於網址的相同內容。不知道該網址來自哪裏。但是,當我更改該網址時,我的儀表板和英雄組件會中斷。在那裏工作atm。所以我不認爲這是問題,儘管我可能是錯的。 –

+0

這很奇怪,因爲我可以訪問「API」,因爲我在其他頁面上獲取數據 –

+1

請給我一分鐘來拉你的代碼並運行它。 –