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

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

-- each hero goes here --> 下一步你添加英雄名字 使用ngFor指令罗列英雄 目标是组件英雄列表绑定到模板,迭代它们,并单独显示它们。...它表示元素及其子元素构成一个主模板。 ngFor指令遍历组件英雄列表并为该列表每个英雄呈现该模板一个实例。...表达式部分hero标识为模板输入变量,其中包含每个迭代英雄详情。 你可以在模板引用这个变量来访问当前英雄属性。...而应将样式放在.css文件,并使用@ComponentstyleUrls参数引用该文件。 按照惯例,组件CSS和Dart文件名称具有相同基础命名前缀(app_component)。...刷新浏览器,该应用程序不再失败,名称列表再次显示在浏览器。 当没有选定英雄时,ngIf指令从DOM移除英雄详情HTML。 没有英雄细节元素或绑定担心。

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

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

当用户点击Delete时,组件delete()方法被调用,指示StreamControllerHero添加到stream。...NgFor:为列表每个项目重复一个模板。 NgSwitch:只显示多个可能元素一个。 NgIf  您可以通过向该元素应用NgIf指令(称为宿主元素)来添加或移除DOM元素。...Angular把这条指令翻译成一个围绕宿主元素,然后重复使用这个模板为列表每个英雄创建一组新元素和绑定。 在“结构指令”指南中了解微语法。...* ngFor与index(索引) NgFor指令上下文index属性返回每个迭代项目的从零开始索引。 您可以捕获模板输入变量index,并在模板中使用它。...NgSwitchCase和NgSwitchDefault指令是结构指令,因为它们添加或删除DOM元素。 NgSwitchCase在其绑定值等于交换机值时将其元素添加到DOM。

29.9K20

AngularDart 4.0 高级-结构指令 顶

每个结构指令都与该模板有所不同。 三种常见内置结构指令 - NgIf,NgFor和NgSwitch ... - 在模板语法指南中进行了描述,并在整个Angular文档示例中进行了介绍。...该指南在谈论其属性以及指令功能时引用了指令类。 指南在描述如何指令应用于HTML模板元素时引用了属性(attribute)名称。...每个宿主元素一个结构指令 有一天你会想重复一段HTML,但只有当特定条件成立时才会重复。 您将尝试*ngFor和*ngIf放在同一宿主元素上。 Angular不会允许。...您仅可以一个结构指令应用于宿主元素。 原因是简单。 结构指令可以用宿主元素及其后代完成复杂事情。 当两个指令声明相同宿主元素时,哪一个优先? NgIf或NgFor应该先走哪一个?...这个用例有一个简单解决方案:*ngIf放在包裹*ngFor元素容器元素上。 一个或两个元素可以是一个temple,所以你不必引入额外HTML级别。

16K20

Angular 显示英雄列表

它会为列表每项数据复写它宿主元素。 在这个例子  就是 *ngFor 宿主元素 heroes 就是来自 HeroesComponent 类列表。...当依次遍历这个列表时,hero 会为每个迭代保存当前英雄对象。 不要忘了 ngFor 前面的星号(*),它是该语法关键部分。 浏览器刷新之后,英雄列表出现了。...但还有更好方式。你可以定义属于特定组件私有样式,并且让组件所需一切(代码、HTML 和 CSS)都放在一起。...给所选英雄添加样式 所有的  元素看起来都是一样,因此很难从列表识别出所选英雄。...只要把 [class.some-css-class]="some-condition" 添加到你要施加样式元素上就可以了。

4.4K70

表单脚本

;等价于HTMLaction特性 elements 表单中所有控件集合(HTMLCollection) enctype 请求编码类型;等价于HTMLenctype特性 length 表单控件数量...自动切换焦点 用户填写完当前字段时,自动焦点切换到下一个字段。...是否支持多项选择 options 所有集合 remove(index) 移除给定位置选项 selectIndex 基于0选中索引,如果没有选中,则该值为-1;对于支持多选控件,只保存选中第一索引...移动和重排选项 DOMappendChild方法(只能添加到最后),如果appendChild传入一个文档已有的元素,那么就会先从该元素父节点中移除它,再把它添加到指定位置。...不发送type为“reset”和“button”按钮; 选择框每个选中值单独条目发送; 五、富文本编辑 contenteditable:用户立即可编辑该元素 data:text/html, <html

4.8K41

AngularDart4.0 指南- 表单 顶

将该包添加到pubspec依赖: ? 创建一个模型 当用户输入表单数据时,您将捕获其更改并更新模型实例。 直到你知道模型是什么样子,你才能布置表格。...hero-form@Component选择器值意味着您可以使用元素将此表单放在父模板。 templateUrl属性指向模板HTML单独文件(您将很快创建)。...您将在表单添加一个select,并使用ngFor(先前在“显示数据”页面中看到一种技术)选项绑定到powers列表。...[(ngModel)]与表单结合使用时,定义ngControl指令是一要求。...如果需要,可以将相同类型错误消息添加到,但这不是必须,因为选择框已经权限限制为有效值。

17.5K30

Angular 显示英雄列表

它会为列表每项数据复写它宿主元素。 在这个例子  就是 *ngFor 宿主元素 heroes 就是来自 HeroesComponent 类列表。...当依次遍历这个列表时,hero 会为每个迭代保存当前英雄对象。 不要忘了 ngFor 前面的星号(*),它是该语法关键部分。 浏览器刷新之后,英雄列表出现了。...但还有更好方式。你可以定义属于特定组件私有样式,并且让组件所需一切(代码、HTML 和 CSS)都放在一起。...Angular 会把所点击  上 hero 对象传给它,这个 hero 也就是前面在 *ngFor 表达式定义那个。...只要把 [class.some-css-class]="some-condition" 添加到你要施加样式元素上就可以了。

4K30

AngularDart4.0 指南- 用户输入 顶

传递$event 是一个待考虑做法 键入事件对象揭示了整个DOM事件传递到方法一个重要问题:组件与模板细节密切相关。 如果不使用Web API,组件无法提取数据。...代码使用box变量来获取输入元素值,并在标签之间进行插值显示。 模板是完全独立。 它不绑定到组件,组件什么也不做。 在输入框输入内容,然后观看每个按键显示更新。 ?...失去焦点(blur)事件 在前面的示例,如果用户在没有首先按下Enter情况下单击页面上其他位置,则输入框的当前状态丢失。 只有当用户按下Enter时,组件value属性才会更新。...现在,把它放在一个微型应用程序,可以显示英雄列表,并添加新英雄列表。 用户可以通过在输入框输入英雄名字并点击添加来添加英雄。 ? 下面是“英雄之旅”组件。...第二个语句newHero.value =''在新英雄添加到列表后清除输入框。 源代码 这里是在这个页面讨论所有代码。

3.4K00

Angular 结构指令模式 - 它们是什么且怎么使用

学到什么 在本文中,你学到关于 Angular 结构指令模式知识点。你会知道它们是什么并且怎么去使用它们。 学完本文,你更好理解这些指令并在实际项目中使用它们。...*ngIf - 根据表达式返回布尔值,有条件地包含一个模版(即条件渲染模版) *ngFor - 遍历数组 *ngSwitch - 渲染每个匹配是图 下面是一个结构化指令例子。...要使用结构指令,我们需要在 HTML 模版添加一个带有指令元素。然后根据我们在指令设置条件或者表达式添加、删除或者替换元素。 结构指令例子 我们添加些简单 HTML 代码。...当表达式是 false 时候,*ngIf 指令移除 HTML 元素。当为 true 时候,元素副本会添加到 DOM 。...当条件值是 true 时候,相关元素就会被渲染到 DOM ,其余元素将被忽略。如果没有元素匹配,则渲染 *ngSwitchDefault 元素到 DOM

3.8K20

JavaScript(十三)

表单字段 可以像访问页面其他元素一样,使用原生 DOM 方法访问表单元素。此外,每个表单都有 elements 属性,该属性是表单中所有元素集合。...这个 elements 集合是一个有序列表,其中包含着表单所有字段,每个表单字段在 elements 集合顺序,与它们出现在标记顺序相同,可以按照位置和 name 特性来访问它们。...与 input 元素不同,textarea 初始值必须要放在 textarea 开始和结束标签之间: initial value</textarea...selectedIndex: 基于 0 选中索引,如果没有选中,则值为 -1 size: 选择框可见行数,等价于 HTML size 特性 选择框 value 属性由当前选中决定...属性依据前两条规则取得第一个选中

3.3K20

跟着大彬读源码 - Redis 10 - 对象编码之整数集合

contents 数组一个数组项,各个在数组按值大小从小到大有序排列,并且数组不包含重复。...2 升级操作 每当我们要将一个新元素添加到整数集合时,如果新元素类型比整数集合 encoding 类型大,整数集合就需要先进行升级操作(upgrade),然后才能将新元素添加到整数集合。...底层数组现有的所有元素,都转换成与新元素相同类型,并将转换后元素放在正确位置上,保证原有顺序不发生改变。 元素添加到底层数组。...但是,因为有了升级操作,整数集合可以通过它来自适应新元素,所以我们可以随意地 int16_t、int32_t、和 int64_t 类型整数添加到集合,而不必担心出现类型错误,大大提升了整数集合灵活性...这种算法时间复杂度为O(N*M),其中N是第一个集合元素个数,M是集合数目。 第二种算法 第一个集合所有元素都加入到一个中间集合

57720

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

,处理程序创建命名英雄委托给英雄服务,然后英雄添加到列表。...添加删除英雄能力 英雄视图中每个英雄都应该有一个删除按钮。 将以下按钮元素添加到英雄组件HTML,位于重复元素英雄名称之后。...在示例,基础字符串流(_searchTerms.stream)表示由用户输入英雄名称搜索模式。 每次调用search()都会通过调用控制器上add()字符串放入流。...transform(switchMap(...))为通过debounce()和distinct()创建每个搜索调用搜索服务。 它取消并放弃以前搜索,只返回最新搜索服务流元素。...这个简单例子错误输出到控制台。 一个真实应用程序应该做更好。 搜索组件添加到仪表板 英雄搜索HTML元素添加到DashboardComponent模板底部。

11K30

Redis设计与实现(5)-整数集合

数组一个数组项 (item) , 各个在数组按值大小从小到大有序地排列, 并且数组不包含任何重复. length 属性记录了整数集合包含元素数量, 也即是 contents 数组长度....升级 每当我们要将一个新元素添加到整数集合里面, 并且新元素类型比整数集合现有所有元素类型都要长时, 整数集合需要先进行升级 (upgrade) , 然后才能将新元素添加到整数集合里面...., 而且在放置元素过程, 需要继续维持底层数组有序性质不变; 元素添加到底层数组里面....但是, 因为整数集合可以通过自动升级底层数组来适应新元素, 所以我们可以随意地 int16_t , int32_t 或者 int64_t 类型整数添加到集合, 而不必担心出现类型错误, 这种做法非常灵活...O(1) intsetAdd 将给定元素添加到整数集合里面. O(N) intsetRemove 从整数集合移除给定元素. O(N) intsetFind 检查给定值是否存在于集合.

18310

一起学Excel专业开发23:使用类模块创建对象2

然后,For Each循环遍历所选区域每个单元格,Set clsCell = New CCell为每个单元格创建一个CCell对象实例,集合对象Add方法这些实例添加到集合集合每个元素关键字为单元格地址...集合对象是VBA提供内置对象,可用来保存对象和数据。集合对象对于存放在其中数据类型没有任何限制,不同类型数据也可以存放在同一个集合对象。...集合对象有4种基本方法: 1.Add方法:添加集合元素 2.Count方法:统计集合元素项数量 3.Item方法:获取集合元素 4.Remove方法:删除集合元素 可以通过下列方式来访问集合对象:...= gcolCells(“$A$3”) ‘访问集合关键字为$A$3元素 我们可以控制添加到集合对象类型,也可以在集合添加一些新方法,例如,使用一个方法来高亮显示相同类型单元格,再用另一个方法来取消这些高亮显示...CreateCellsCollection过程先将gclsCell实例化,使用For Each循环当前工作表所使用区域内单元格添加到集合,然后统计集合包含公式单元格数目并显示统计结果。

1.2K20

【Appetite】ionic3实录(七)次页实现及分析解决问题【下】

上一节提到几个问题,现在我们逐一来解释一下: 问题一:initSwiper方法为什么放在获取数据之后?它放在其它地方可以吗?...也就是说,前者只会初始化一次,而后两者每次显示都需要重新初始化,进一步说,若使用后两者方式,对于这里用到swiper,它不是一个angular封装起来组件,不会自动初始化,我们每次显示它时都需要显式调用一下...这并不是说都不要用*ngIf,因为当页面元素太多时会容易导致界面卡顿,所以没用多余元素应该移除,此时就用它。一句话说就是根据情况合理选择显示控制方法。...是的,在大多场景可以直接用ion-slides,只是会有个别坑要解决,比如我们改动下ts和html文件。...ts把initSwiper方法相关内容移除: import { Component, ViewChild, ElementRef, ChangeDetectorRef } from '@angular

1.4K20

学界 | 为代码自动添加注释,让 Java 程序阅读和开发更高效

对于 Listing 1,我们之前技术 [3] 会将第 2-7 行第一个动作单元识别为 if 循环并将其描述为「确定一个元素是否存在于该比特流」。...对于第 11-14 行动作单元,这篇关于与对象相关动作单元论文会生成「新创建映射行添加到数据库」。对于第 9 行单行与对象相关动作单元,我们会生成「指定比特流添加到比特流」。...对于每个与对象相关动作单元,我们要识别出表示该动作单元主要动作语句,我们将其称为该动作单元焦点语句(focal statement)。焦点语句能为该动作单元自然语言描述提供主要内容。...图 1:为与对象相关动作单元生成描述整体过程 焦点语句、动作和参数识别以及词汇化都是通过我们开发一组规则执行,这些规则来自对大量 Java 方法数据驱动研究。...在我们分析,我们使用了空行来为我们提供学习这些模板样本,因为 Java 开发者传统上会使用空行来方法分割成逻辑上相关各个部分 [7,8,9]。

80970
领券