问题标签 [angular-tour-of-heroes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
66 浏览

angular - Angular Tour Of Heroes 输入属性“不是已知属性”错误

我完全按照角度“英雄之旅”教程中描述的步骤进行操作。我没有走得太远,因为在添加了“heroe-detail”功能组件后,我遇到了以下错误:

从“heroes.component.html”中删除此功能组件会使应用程序恢复工作状态。这是我添加的功能组件:

我的'heroe-detail.component.html':

我的'heroe-detail.component.ts':

我的“app.module.ts”:

我的'main.ts':

这是GitHub 上处于损坏状态的应用程序源

有没有人遇到过这个,或者我错过了一些非常明显的东西?

0 投票
1 回答
47 浏览

angular - Angular Heroes 示例中令人费解的 Typescript 函数语法

我正在阅读 Angular 在https://angular.io/tutorial/toh-pt6的教程,我有几个问题。我的第二个问题与这里提出的关于同一个 Angular 演示的问题非常接近,但尽管它几乎涉及到我的特定语法问题,但它只是简短,并且一个响应没有涉及到它。

从调用返回的 Observable 中检索服务中的数据HttpClient.get,它们catchError在管道中有一个运算符:

这点我明白了。我希望this.handleError返回一个处理程序,一个错误到处理错误的代码的映射。在他们已经提供的页面上再往上一点:

首先,我注意到虽然这些示例的类型很多,但这个示例似乎没有输入返回值。我期待

其次,我认为函数返回的是 lambda 表达式映射Observable<T>到大括号之间的大块代码(它本身最终返回result,我们希望在发生错误时返回给订阅者的安全默认值,以便它可以继续处理,用 ) 包裹在 Observable 中of。但我不明白 lambda 表达式之前第二行的语法:

什么是return (error: any):,位于函数定义内部handleError,它与它后面的内容有什么关系?第二个冒号的句法意义是什么?它代表了它两边的表达式之间的什么关系?

0 投票
2 回答
64 浏览

angular - Angular 英雄之旅大师详细解说

我知道这对你们所有人来说可能听起来很奇怪,但由于某种原因,我不知道如何解释自己为什么这会起作用,我可能遗漏了一些重要的东西。

所以基本上在 angular-tour-of-heroes 应用程序中,会显示模拟英雄列表,您在 ngFor 中单击一个英雄,就会显示 selectedHero 的详细信息。

一切都很好,因为 ngModel 更改了 typescript 部分内的 selectedHero 变量以及应用程序的 html 部分。

但是 ngModel 如何在 ngFor 循环中更改“英雄”对象?当我在输入字段中输入另一个英雄名称时,上面 ngFor 循环列表中的“英雄”也会发生变化。这是如何运作的 ?

链接:https ://angular.io/tutorial/toh-pt2

hero.component.html

hero.component.ts

0 投票
2 回答
76 浏览

angular - Angular 英雄教程第 2 课显示列表:添加点击事件处理程序

我正在做英雄之旅教程。当我将以下代码添加到我的 heros.component.ts 文件时,我收到一条错误消息,提示“属性 'selectedHero' 没有初始化程序,并且未在构造函数中明确分配。” 我应该怎么做才能不再看到这个错误?先感谢您。

我的 heros.component.ts 文件如下所示:

我的 heros.component.html 文件如下所示:

0 投票
0 回答
44 浏览

javascript - 符号“!”的用途是什么?在角度可观察的“$”之后?

我在 Angular 英雄之旅教程中看到,他们声明hero$!: Observable<Hero>;

为什么后面有!标志$

他们也在初始化 hero 中的 observablengOnInit

在那里,我们还看到了!标志params.get('id')!

0 投票
1 回答
118 浏览

angular - Angular 英雄之旅

我目前正在使用英雄的角度之旅来学习角度。我通过以下示例稍微了解了这些概念。我现在正在添加一个新英雄。对于那些完成教程的人,我只是有疑问。

在添加英雄中,我无法理解它。你能帮我理解一下这个addHero()方法是如何在服务器上添加新英雄的吗?我期待一种可以做到这一点的方法。但我没有看到任何添加方法。

我来自 PHP/JS,jQuery 背景。所以我期待这样的事情

  1. addHero()hero.component.ts 中的方法
  2. addHero()hero.service.ts 中的方法
  3. 来自 PHP MVC,addHero()模型中的方法将更新数据库中的数据。

希望你能容忍我,我想在继续下一步之前了解它是如何工作的。

谢谢大家。

src/app/heroes/heroes.component.ts (添加)

src/app/hero.service.ts (addHero)