遵循以下教程:https://angular.io/docs/ts/latest/tutorial/toh-pt6.html
当前代码:https://github.com/GreenAnts/Angular2-tour-of-heroes-tutorial
(注意:http必须正常,因为我能够查看英雄和仪表板,正在查看英雄......只有当我查看英雄细节时,这对我来说没有意义,因为我从未改变过我能想到的英雄细节方法。)
尝试查看英雄详情时的错误:
我不知道它是什么,我认为它必须是一些简单的我可以忽略,但我真的无法弄明白,任何帮助都会受到赞赏,因为我被卡住了。
我正在教程中指出这一点:
更新英雄详情
我们可以在英雄详情视图中编辑英雄的名字。前进 并尝试一下。在我们输入时,英雄名称会在视图标题中更新。 但是当我们点击“后退”按钮时,更改就会丢失!
之前没有丢失更新,发生了什么?当应用程序使用了 模拟英雄列表,直接对英雄对象进行了更改 单个应用程序范围的共享列表。现在我们正在从中获取数据 服务器,如果我们想要保持更改,我们需要将它们写回来 到服务器。
起初我想也许是因为这个,但它说我们应该能够访问详细视图,所以我假设它是其他东西。
显示我可以访问其他组件的数据(没有错误):
答案 0 :(得分:1)
事实证明要简单得多,我应该先看一下。卫生署!
您的baseHref为空。那是:
<base href="" />
应该是:
<base href="/" />
您可能想要修复的其他一些事项:
目前:
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:'。/ template / app.component.html',
styleUrls:['./styles/app.component.css']
预先挂起'app'就像这样:
templateUrl: 'app/templates/app.component.html',
styleUrls: ['app/styles/app.component.css']