发表于: 2019-10-10 21:34:18
0 957
今天遇到了什么问题:
拆禅道;
写方案设计;
遇到了什么问题:
暂无;
明天计划:
复盘;
收获了什么:
*ngFor 是一个 Angular 的复写器(repeater)指令。 它会为列表中的每项数据复写它的宿主元素。
<li *ngFor="let hero of heroes" (click)="onSelect(hero)">
这是 Angular 事件绑定 语法的例子。
click 外面的圆括号会让 Angular 监听这个 <li> 元素的 click 事件。 当用户点击 <li> 时,Angular 就会执行表达式 onSelect(hero)。
onSelect() 是 HeroesComponent 上的一个方法,你很快就要写它。 Angular 会把所点击的 <li> 上的 hero 对象传给它,这个 hero 也就是前面在 *ngFor表达式中定义的那个。
hero是 HeroesComponent 类的列表。
从当前选项卡到下一个或前一个标签
- 右键单击当前编辑器选项卡,然后选择 选择下一个/上一个标签在上下文菜单上。
- 按下Alt +右或Alt+左。这样算下来,焦点转移到旁边的权利或从活动的编辑器选项卡左侧的编辑器选项卡。
- 按Ctrl + Tab键使用切换。
新建组件后
系统会把import文件添加到 src/app/app.module.ts 文件中和
@NgModule 的 declarations 列表中。
使用 CLI 生成它。
ng generate module app-routing --flat --module=app
--flat 把这个文件放进了 src/app 中,而不是单独的目录中。
--module=app 告诉
CLI 把它注册到 AppModule 的 imports 数组中。

ERROR in src/app/app-routing.module.ts(9,35): error TS2448: Block-scoped variable 'routes' used before its declaration.
HeroDetailComponent 需要从一种新的途径获取要显示的英雄。
- 获取创建本组件的路由,
- 从这个路由中提取出 id
- 通过 HeroService 从服务器上获取具有这个 id 的英雄数据。
route.snapshot 是一个路由信息的静态快照,抓取自组件刚刚创建完毕之后。
paramMap 是一个从 URL 中提取的路由参数值的字典。 "id" 对应的值就是要获取的英雄的 id。
路由参数总会是字符串。 JavaScript 的 (+) 操作符会把字符串转换成数字,英雄的 id 就是数字类型。
刷新浏览器,应用挂了。出现一个编译错误,因为 HeroService 没有一个名叫 getHero() 的方法。 这就添加它。
ActivatedRoute 保存着到这个 HeroDetailComponent 实例的路由信息。 这个组件对从 URL 中提取的路由参数感兴趣。 其中的 id 参数就是要显示的英雄的 id。
HeroService 从远端服务器获取英雄数据,本组件将使用它来获取要显示的英雄。
HttpClient 是 Angular 通过 HTTP 与远程服务器通讯的机制。
要让 HttpClient 在应用中随处可用,请
- 打开根模块 AppModule,
- 从 @angular/common/http 中导入 HttpClientModule 符号,
Injectable
DECORATOR
标记性元数据,表示一个类可以由 Injector 进行创建。
评论