首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

AngularDart4.0 英雄之旅-教程-07路由 顶

Tour of Heroes应用程序要求: 添加一个Dashboard视图。 添加在HeroesDashboard视图之间导航功能。...定义一个AppComponent。 使用my-app选择器上方添加@Component注解。 将以下英雄组件移到AppComponent:  title类属性。...路由导航页面阅读有关默认路由重定向更多信息。 将导航添加到dashboard  模板上添加dashboard 导航链接,heroes链接上方。...应该显示英雄11详细信息仪表板或英雄列表中选择英雄不起作用。 你会接下来处理。...HeroesComponent中选择一个英雄 HeroesComponent,当前模板展示了一个“主/细节”风格,顶部是英雄列表,下方是选定英雄详细信息

17.5K30

Angular 显示英雄列表

本页面,你将扩展《英雄指南》应用,让它显示一个英雄列表, 并允许用户选择一个英雄,查看该英雄详细信息。 创建模拟(mock)英雄数据 你需要一些英雄数据以供显示。... src/app/ 文件夹创建一个名叫 mock-heroes.ts 文件。 定义一个包含十个英雄常量数组 HEROES,并导出它。 该文件是这样。.../mock-heroes'; 往添加一个 heroes 属性,这样可以暴露出这些英雄,以供绑定。...添加 click 事件处理器 把该组件 hero 属性改名为 selectedHero,但不要为它赋值。 因为应用刚刚启动时并没有所选英雄。...点击一个英雄,它详情就出现了。 这个应用看起来又再次工作正常显示了。 英雄显示列表,当你单击英雄名字时候,有关你单击英雄详细信息就显示页面的底部了。

4.4K70
您找到你想要的搜索结果了吗?
是的
没有找到

AngularDart4.0 英雄之旅-教程-04明细 顶

这是你ngFor指令定义一个英雄变量。 在用户输入页面模板语法页面的事件绑定部分了解有关事件绑定更多信息。...添加一个点击处理程序来显示选定英雄  你不再需要hero属性,因为你不再显示一个英雄; 你正在显示一个英雄列表。 但是用户可以通过点击选择一个英雄。...添加一个onSelect()方法,将selectedHero属性设置为用户单击英雄。...结构指令页面模板语法页面的内置指令部分阅读有关ngIfngFor更多信息。 格式化选中hero 当选择英雄细节显示列表下方时,很难列表识别选定英雄。...在上面添加样式元数据一个名为selected自定义CSS。 为了让选定英雄更清晰可见,当用户点击英雄名字时,你将把这个选定class应用到。

3K30

Angular 显示英雄列表

本页面,你将扩展《英雄指南》应用,让它显示一个英雄列表, 并允许用户选择一个英雄,查看该英雄详细信息。 创建模拟(mock)英雄数据 你需要一些英雄数据以供显示。... src/app/ 文件夹创建一个名叫 mock-heroes.ts 文件。 定义一个包含十个英雄常量数组 HEROES,并导出它。 该文件是这样。.../mock-heroes'; 往添加一个 heroes 属性,这样可以暴露出这些英雄,以供绑定。...添加 click 事件处理器 把该组件 hero 属性改名为 selectedHero,但不要为它赋值。 因为应用刚刚启动时并没有所选英雄。...点击一个英雄,它详情就出现了。 这个应用看起来又再次工作正常显示了。 英雄显示列表,当你单击英雄名字时候,有关你单击英雄详细信息就显示页面的底部了。

4K30

AngularDart4.0 指南- 显示数据 顶

您可以通过将HTML模板控件绑定到Angular组件属性来显示数据。 在这个页面,您将创建一个包含英雄列表组件。 您将显示英雄名单列表,并有条件地列表下方显示一条消息。...在任一种样式,模板数据绑定都具有对组件属性相同访问权限。 用* ngFor显示一个列表属性 要显示英雄列表,首先向组件添加英雄名字列表,并将myHero重新定义为列表一个名字。...“模板语法”页面的microsyntax部分阅读有关模板输入变量更多信息。 Angular为列表每个项目复制,将hero变量设置为当前迭代项目(英雄)。...现在英雄出现在一个无序列表。 ? 为数据创建一个 应用程序代码直接在组件内定义数据,这不是最佳实践。 但是,一个简单演示,没关系。 目前,绑定是一个字符串列表。...实际应用,大多数绑定是针对更专业化对象。 要将此绑定转换为使用专用对象,请将英雄名称列表转换为Hero对象列表。 为此,你需要一个Hero

5.3K10

AngularDart4.0 英雄之旅-教程-06服务 顶

随着“英雄之旅”应用发展,您将添加更多需要访问英雄数据组件。 不是一遍又一遍复制粘贴相同代码,而是创建一个可重用数据服务,并将其注入到需要它组件。...创建一个英雄服务 利益相关者希望以不同页面以各种方式展示英雄。 用户可以从列表中选择一个英雄。 不久,您将添加一个仪表板与顶尖表演英雄,并创建一个单独视图编辑英雄细节。...“Asynchronous Programming: Futures”Dart语言教程阅读更多有关Futures信息。  ...有关异步函数更多信息,请参阅Dart语言浏览声明异步函数。 处理Future 由于对HeroService更改,应用程序组件英雄属性现在是Future,而不是英雄列表。...) => this.heroes = heroes); } 该回调将组件英雄属性设置为服务返回英雄列表。

2.9K10

Angular 服务

它们应该聚焦于展示数据,而把数据访问职责委托给某个服务。 本节课,你将创建一个 HeroService,应用所有都可以使用它来获取英雄列表。...不要使用 new 来创建此服务,而要依靠 Angular 依赖注入机制把它注入到 HeroesComponent 构造函数。 服务是多个“互相不知道”之间共享信息好办法。...你要用一个注入器注册它。注入器就是一个对象,负责需要时选取注入该提供商。...添加 getHeroes() 创建一个函数,以从服务获取这些英雄数据。...上一个版本把英雄数组赋值给了该组件 heroes 属性。 这种赋值是同步,这里包含假设是服务器能立即返回英雄数组或者浏览器能在等待服务器响应时冻结界面。

3.3K70

AngularDart4.0 英雄之旅-教程-08HTTP 顶

你离开地方 在前一页,您学会了仪表板固定英雄列表之间导航,沿途编辑选定英雄。 这是这个页面的起点。 继续英雄之旅之前,请确认您具有以下结构。 ?...模拟Web API 在你一个可以处理英雄数据请求Web服务器之前,HTTP客户端将从模拟服务(内存Web API)获取并保存数据。...id : int.parse(id); 英雄HTTP 目前HeroService实现,返回一个用模拟英雄解决Future。...响应JSON一个单一数据属性,它拥有主叫方想要英雄列表。 所以你抓住这个列表并把它作为已解决Future值返回。 请注意服务器返回数据形状。...当应用程序使用模拟英雄列表时,更新直接应用于单个应用程序范围共享列表英雄对象。 现在,您正在从服务器获取数据,如果您希望更改持续存在,则必须将其写回服务器。

11K30

AngularDart 4.0 高级-HTTP 客户端 顶

它从服务接收heroes并且列表展示它们.用户可以添加一个Hero并且保存到服务端. 下面是应用程序UI: ? 此demo一个单独组件, HeroListComponent....获取数据 之前示例,应用通过返回服务模拟英雄来伪造与服务器交互: import 'dart:async'; import 'package:angular/angular.dart';...有关解码编码JSON示例,请参阅Dart库游览dart:convert部分。 码后JSON不会列出英雄。 相反,服务器将JSON结果封装到具有数据属性对象。...调用HeroService组件只需要heroes。 它与负责获取数据代码以及响应对象分离。 始终处理错误 处理I / O一个重要部分是通过准备捕捉它们并与它们做某些事情来预测错误。...英雄一个拥有自己data属性响应对象

9.6K10

AngularDart4.0 指南-体系结构概述 顶

一个组件控制屏幕一小块视图。 例如,以下视图由组件控制: 与导航链接应用程序根。 英雄名单。 英雄编辑 您可以一个定义一个组件应用程序逻辑 - 它支持视图功能。...该类通过属性方法API与视图交互。  例如,这个HeroListComponent一个heroes属性,返回从服务获取英雄列表。...HeroListComponent还有一个selectHero()方法,当用户点击从列表中选择一个英雄时,它会设置一个selectedHero属性。...自定义组件与原生HTML相同布局无缝混合。 元数据 ? 元数据告诉Angular如何处理一个。 回顾HeroListComponent代码,你可以看到它只是一个。...当用户点击英雄名字时,(click)事件绑定调用组件selectHero方法。 双向数据绑定是一个重要第四种形式,它使用ngModel指令将属性事件绑定在一个符号

7.9K30

AngularDart 4.0 高级-管道 顶

显然,一些值可以从一些编辑受益。 您可能会注意到,您希望许多应用程序内部许多应用程序重复执行许多相同转换。 你几乎可以把它们想象成风格。...API参考管道主题中了解更多关于这些许多其他内置管道信息; 过滤包含单词“管道”条目。 由于本页附录解释了Angular没有FilterPipe或OrderByPipe原因。...纯净不纯管道 管道:纯净不纯。 管道默认是纯净。 到目前为止,你看到每个管道都是纯净。 通过将pure设置为false,可以使管道不纯。...您可以实例(查看源代码)确认,当您添加英雄时,即使您变更heroes列表,飞行英雄也会显示更新。 不纯AsyncPipe Angular AsyncPipe是一个不纯管道有趣例子。...该组件可以公开一个filteredHeroes或sortedHeroes属性,并控制执行支持逻辑时间频率。 您可以管道中放置并在应用程序中共享任何功能都可以写入过滤/排序服务并注入到组件

6.3K20

AngularDart4.0 指南- 依赖注入 顶

'; } Car在其构造函数创建它需要所有东西。 什么问题? 问题在于Car是脆弱,不灵活,难以测试。 这辆车需要引擎轮胎。...它唯一目的是显示显示英雄名字列表HeroListComponent。 HeroListComponent这个版本从mockHeroes获取英雄,这是一个单独文件定义内存集合。...英雄HTTP教程部分介绍了这样英雄服务。 这里重点是服务注入,所以同步服务就足够了。 注册一个服务提供商 一个服务只是Angular一个,直到您使用Angular依赖注入器注册它。...具有依赖关系供给 也许EvenBetterLogger可以日志消息显示用户名。 此记录器从注入UserService获取用户,该用户服务也应用程序级别注入。...您可以层次依赖注入中了解更多关于其高级功能信息,从对嵌套注入器支持开始。 附录:直接使用注射器 开发人员很少直接使用注入器,但是这里一个InjectorComponent。

5.6K20

AngularDart4.0 英雄之旅-教程-03英雄编辑器

“显示数据”页面阅读有关插值更多信息。 Hero对象 英雄需要更多属性。 将英雄从文字字符串转换为。 创建一个具有idname属性Hero。...,将组件英雄属性重构为Hero类型,然后将其id初始化为1,name为Windstorm。...', 刷新浏览器,页面将显示英雄名 组合HTML多行模板字符串 要显示所有英雄属性,请为英雄id属性添加一个,并为英雄名称添加另一个。...数据两个方向流动:从属性到文本框,从文本框返回到属性表单模板语法页面阅读有关ngModel更多信息。 @Component(指令:...)...在下一个教程页面,您将搭载“Tour of Heroes”应用程序,以显示英雄列表。

3.2K10

Angular 英雄编辑器

应用程序现在有了基本标题。 接下来你要创建一个组件来显示英雄信息并且把这个组件放到应用程序外壳里去。 创建英雄组件 使用 Angular CLI 创建一个名为 heroes 新组件。...添加一个 hero 属性 往 HeroesComponent 添加一个 hero 属性,用来表示一个名叫 “Windstorm” 英雄。...创建一个 Hero 真实英雄当然不仅仅只有一个名字。  src/app 文件夹为 Hero 创建一个文件,并添加 id  name 属性。...编辑英雄 用户应该能在一个  文本输入框(textbox)编辑英雄名字。 当用户输入时,这个输入框应该能同时显示修改英雄 name 属性。...你可以编辑英雄名字,并且会看到这个改动立刻体现在这个输入框上方  。 声明 HeroesComponent 每个组件都必须声明(且只能声明一个 NgModule 

2.5K50

Angular 英雄编辑器

应用程序现在有了基本标题。 接下来你要创建一个组件来显示英雄信息并且把这个组件放到应用程序外壳里去。 创建英雄组件 使用 Angular CLI 创建一个名为 heroes 新组件。...添加一个 hero 属性 往 HeroesComponent 添加一个 hero 属性,用来表示一个名叫 “Windstorm” 英雄。...创建一个 Hero 真实英雄当然不仅仅只有一个名字。  src/app 文件夹为 Hero 创建一个文件,并添加 id  name 属性。...编辑英雄 用户应该能在一个  文本输入框(textbox)编辑英雄名字。 当用户输入时,这个输入框应该能同时显示修改英雄 name 属性。...你可以编辑英雄名字,并且会看到这个改动立刻体现在这个输入框上方  。 声明 HeroesComponent 每个组件都必须声明(且只能声明一个 NgModule 

2.6K70

AngularDart4.0 指南- 模板语法二 顶

如果名称未能匹配已知指令元素事件或输出属性,则Angular会报告“未知指令”错误。 $event事件处理语句 事件绑定,Angular为目标事件设置一个事件处理程序。...模板语句附作用 deleteHero方法一个附作用:删除一个英雄。 模板语句附作用不只是好,但可预期。 删除英雄更新模型,可能会触发其他更改,包括查询并保存到远程服务器。...这些变化通过系统渗透,并最终显示相关视图。 双向绑定([(…)]) 您经常希望显示数据属性,并在用户进行更改时更新该属性。 元素另一方面为元素更改事件组合设置特定元素属性监听。...字符串“let hero of heroes”是指: 取英雄列表每个英雄,将其存储本地英雄循环变量,并使其可用于每次迭代模板HTML。...模板输入变量 hero之前let关键字创建一个名为hero模板输入变量。 ngFor指令迭代由父组件heroes属性返回heroes,并在每次迭代期间将hero设置为列表的当前项目。

29.9K20

Angular 主从组件

此刻,HeroesComponent 同时显示了英雄列表所选英雄详情。 把所有特性都放在同一个组件,将会使应用“长大”后变得不可维护。...你要把大型组件拆分成小一点子组件,每个子组件都要集中精力处理某个特定任务或工作流。 本页面,你将迈出第一步 —— 把英雄详情移入一个独立、可复用 HeroDetailComponent。...这个组件所做只是通过 hero 属性接收一个英雄对象,并显示它。 显示 HeroDetailComponent HeroesComponent 仍然是主从视图。...现在,当用户列表中点击某个英雄时,selectedHero 就改变了。...像以前一样,一旦用户点击了一个英雄名字,该英雄详情就显示英雄列表下方。 现在,HeroDetailComponent 负责显示那些详情,而不再是 HeroesComponent。

1.3K40

Angular 主从组件

此刻,HeroesComponent 同时显示了英雄列表所选英雄详情。 把所有特性都放在同一个组件,将会使应用“长大”后变得不可维护。...你要把大型组件拆分成小一点子组件,每个子组件都要集中精力处理某个特定任务或工作流。 本页面,你将迈出第一步 —— 把英雄详情移入一个独立、可复用 HeroDetailComponent。...这个组件所做只是通过 hero 属性接收一个英雄对象,并显示它。 显示 HeroDetailComponent HeroesComponent 仍然是主从视图。...现在,当用户列表中点击某个英雄时,selectedHero 就改变了。...像以前一样,一旦用户点击了一个英雄名字,该英雄详情就显示英雄列表下方。 现在,HeroDetailComponent 负责显示那些详情,而不再是 HeroesComponent。

1.2K40

Angular 应用外壳 原

随后,你将对你已经初始化应用进行修改来让你构建出 Tour of Heroes app(英雄指南) 这个应用。 在教程本部分,你需要完成下面的操作: 设置环境。...设置环境 希望对你开发环境进行设置,请参考下面的链接指南:Getting started: 先决条件 安装 Angular CLI 你不需要按照 Getting started 页面说明内容从头到尾进行一次...每个项目都是一组由应用、库或端到端(e2e)测试组成文件集合。 本教程,你将创建一个工作区。...希望创建一个新工作区并且初始一个应用项目,你需要: 确保你现在没有位于 Angular 工作区文件夹。...修改应用标题 打开组件文件 (app.component.ts),并把 title 属性值修改为 'Tour of Heroes' (英雄指南)。

94210
领券