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

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

在此页面中,您将扩展“Tour of Heroes”应用程序,以显示英雄列表,并允许用户选择英雄并显示英雄的详细信息。 完成此页面后,该应用应该看起来像这个实例(查看源代码)。...name: 使用ngIf指令隐藏空的对象 当应用程序加载...在结构指令页面和模板语法页面的内置指令部分阅读有关ngIf和ngFor的更多信息。 格式化选中hero 当选择的英雄细节显示在列表下方,很难在列表中识别选定的英雄。...为了让选定的英雄更清晰可见,当用户点击英雄名字,你将把这个选定的class应用到。 例如,当用户点击“Magneta”,它应该用一个独特但微妙的背景颜色渲染,如下所示: ?...你增加了选择英雄和显示英雄的细节的能力。 您了解了如何在组件模板中使用核心指令ngIf和ngFor。 您在CSS文件中定义了样式,并使用它们来设置应用程序的样式。

3K30

Angular2 之 结构型指令几个概念

隐藏元素的利弊 当我们隐藏元素,组件的行为还在继续。 它仍然附加子啊它所属于的DOM元素上,它仍然在监听事件。angular会继续检查哪些能影响数据绑定的变更。...标签 结构型指令,比如ngIf,使用HTML 5的template标签 完成它们的“魔法”。 控制Template标签内DOM添加与显示,在模板级别使用的。...*/ @Directive({ selector: '[myUnless]' }) export class UnlessDirective { /** * 我们需要访问模板,并且还需要一个渲染器来渲染它的内容...要么显示的包含在Template标签中,要么隐式的使用*这种语法糖去包装在Template标签中。它简化了ngIf和ngFor —— 无论是写还是读。...宿主组件的condition 属性的布尔值决定该模板的内容是否应该被显示ngFor Angular把*ngFor转换成一个类似的形式: <!

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

AngularDart 4.0 高级-结构指令 顶

Angular在实际渲染过程中消耗了内容,并用诊断注释替换了。 NgFor和NgSwitch ...指令遵循相同的模式。...您将尝试将*ngFor和*ngIf放在同一宿主元素上。 Angular不会允许。 您仅可以将一个结构指令应用于宿主元素。 原因是简单。 结构指令可以用宿主元素及其后代完成复杂的事情。...当NgSwitchCase的值与switch的值匹配,会显示它的宿主元素。当没有同级NgSwitchCase匹配switch的值,NgSwitchDefault显示它的宿主元素。...{{hero.name}} 如果没有宿主元素,通常可以将内容包装在本机HTML容器元素()中,然后将该指令附加到该容器...NgIf在条件为true显示模板内容。 UnlessDirective在条件为false显示内容。

16K20

Angular 从入坑到挖坑 - 组件食用指南

一、Overview angular 入坑记录的笔记第二篇,介绍组件中的相关概念,以及如何在 angular 中通过使用组件来完成系统功能的实现 对应官方文档地址: 显示数据 模板语法 用户输入 组件之间的交互...="expr">NgIf 结构型指令 当 expr 属性为 true ,这个元素则会显示在页面上,当属性值为 false ,则不显示该元素 ngIf 指令并不是通过使用 css 样式来隐藏元素的...,再次显示不用重新进行初始化过程 NgFor:通过定义单条数据的显示格式,angular 以此为模板,循环渲染出所有的数据 <p *ngFor="let item of products; let...,此时当渲染的数据发生改变,只会重新渲染变更了指定的属性值的数据 不使用 trackBy 跟踪属性 <p *ngFor="let item of products; let...ngAfterContentChecked 只要组件的内容发生改变就会被调用 ngAfterViewInit 视图加载完成后触发一次,一般用来对视图的 dom 元素进行操作 ngAfterViewChecked

15.7K30

【Appetite】ionic3实录(六)首页实现

this.frendNews = res.result; this.cd.detectChanges(); this.initSwiper(); }else{ //提示框等错误提示...zoom: true,//双击,手势缩放 loop: false,//循环切换 lazyLoading: true,//延迟加载 lazyLoadingOnTransitionStart...: true, lazyLoadingInPrevNext : true }); } } 代码看上去长,其实没啥内容,其中图片画廊这个效果有点特别,要显示后一张的一部分...initSwiper方法貌似要在页面渲染完成后才能使用,而getFriendNews获取数据后未必渲染完成,故不能马上调用,所以调用this.cd.detectChanges()来处理下,关于这个可以查看我另一篇文章...用了结构指令ngIf来选择显示视频还是画廊;按钮组可以换用grid布局;此外,为了性能考虑,应用virtualScroll,但我简单一用时布局有变形,赶时间没分析,换用现在方式。

1.1K40

AngularDart4.0 指南- 显示数据 顶

当这些属性改变,Angular会更新显示。 更准确地说,重新显示是在与视图相关的某种异步事件之后发生的,例如按键,计时器完成或对HTTP请求的响应。...用* ngFor显示一个列表属性 要显示英雄列表,首先向组件添加英雄名字列表,并将myHero重新定义为列表中的第一个名字。...在这种情况下,ngFor正在显示一个列表,但ngFor可以为任何Iterable对象重复项目。 @Component(directives:...)...当组件的英雄列表中有三个以上的项目,Angular会将该段落添加到DOM,并显示消息。 如果有三个或更少的项目,Angular会忽略该段落,所以不会显示任何消息。...概要 现在你知道如何使用: 用双花括号插入来显示组件属性。 ngFor显示项目列表。 Dart类,用于为您的组件生成模型数据并显示该模型的属性。 ngIf有条件地显示基于布尔表达式的HTML块。

5.3K10

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

显示/隐藏是无用的。 如果嵌套表达式试图访问null属性,Angular会抛出一个错误。 这里我们看到NgIf守护两个。 currentHero名称仅在有currentHero出现。...NgFor NgFor是一个迭代指令 - 一种呈现项目列表的方式。 您可以定义一个HTML块来定义应该如何显示单个项目。 您告诉Angular将该块用作呈现列表中每个项目的模板。...模板引用变量警告说明 模板引用变量(#phone)与模板输入变量(let phone)不同,您在*ngFor中可能看到的那样。 了解“结构指令”指南中的差异。 引用变量的范围是整个模板。...在等待数据的时候,视图应该没有怨言地呈现,而null属性路径应该像title属性一样显示为空白。 不幸的是,当currentHero为空,应用程序崩溃。 你可以用*ngIf来解决这个问题。 <!...name}} 它适用于很长的属性路径,a?.b?.c?.d。 概要 您已经完成了对模板语法的概览。 现在是时候把这些知识应用到你自己的组件和指令上。

29.9K20

Angular 显示英雄列表

完成后应该如下显示: heroes.component.html heroes.component.html (heroes template)content_copyMy Heroes</h2...在这个例子中  就是 *ngFor 的宿主元素 heroes 就是来自 HeroesComponent 类的列表。 当依次遍历这个列表,hero 会为每个迭代保存当前的英雄对象。...主从结构 当用户在主列表中点击一个英雄,该组件应该在页面底部显示所选英雄的详情。 在本节,你将监听英雄条目的点击事件,并更新英雄的详情。...英雄们显示在列表中,并且所点英雄的详情也显示在了页面的下方。 修复 - 使用 *ngIf 来隐藏空白的细节 该组件应该只有当 selectedHero 存在显示所选英雄的详情。...你使用 *ngFor 显示了一个列表。 你使用 *ngIf 来根据条件包含或排除了一段 HTML。 你可以用 class 绑定来切换 CSS 的样式类。

4.4K70

Angular DataGrid组件开发

完成的效果: image.png 组件的目录结构: image.png DataGrid组件的结构非常简单,仅需要一个组件即可完成。...background-color: rgba(99, 182, 255, 0.2); } dataGrid的组件的基本功能可以说非常简单,用户输入的对象中需要包含三个参数: Column:列的显示文字...(Name),列对应的字段名(Code), data:列表数据 PageSize:每页显示的数据条数(缺省为10) 考虑到需要客户端分页,用alldataList缓存整个列表数据。...getList()方法用于处理翻页展示页的数据刷新。 注意CSS中Cardbase - content-visibility:auto 当单页PageSize较大,可优化渲染效率。...image.png 这样一个简单的DataGrid组件就完成了。 当然后续还可以增加内置的搜索功能,PageSize选择功能。 现在是使用客户端分页,同样可以增加服务端分页的功能。

1.2K30

【开发指南】(三)认识ionic3

+ Cordova技术,不同的是网页放在了本地,通过获取网络接口数据实现展示,使用js调用原生功能;第二代以React Native为代表,业务及虚拟页面通过js实现,然后通过js桥接,使用原生界面渲染...,也就是说,它比第一代增强了页面显示的功能,等到第三代了,通过编译把js桥接部分也省掉,直接生成原生可执行的代码,把性能又提高了一个档次。...它只提供了使用JavaScript调用Native功能,在开发的时候还需要开发人员自己去实现诸如样式美化、页面切换、数据展示、弹出框、Modal窗体、日期选择器等功能或组件,为了提高开发效率,出现了各种前端框架,国外的...,其它变化不大,具体更新如下: Angular 4.0 新的版本下,改进 AOT 编译器,分离 animations 包,缩小生成后的代码量,运行更快,改进ngIf 和ngFor 等具体内容可以访问...并且可以更轻松的在项目中设置延迟加载,设置延迟加载页面的优先级,并为每个页面自定义配置。

2.7K40

Angular 显示英雄列表

完成后应该如下显示: heroes.component.html heroes.component.html (heroes template) content_copy My Heroes</...在这个例子中  就是 *ngFor 的宿主元素 heroes 就是来自 HeroesComponent 类的列表。 当依次遍历这个列表,hero 会为每个迭代保存当前的英雄对象。...主从结构 当用户在主列表中点击一个英雄,该组件应该在页面底部显示所选英雄的详情。 在本节,你将监听英雄条目的点击事件,并更新英雄的详情。...英雄们显示在列表中,并且所点英雄的详情也显示在了页面的下方。 修复 - 使用 *ngIf 来隐藏空白的细节 该组件应该只有当 selectedHero 存在显示所选英雄的详情。...你使用 *ngFor 显示了一个列表。 你使用 *ngIf 来根据条件包含或排除了一段 HTML。 你可以用 class 绑定来切换 CSS 的样式类。

4K30
领券