博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
4、AngularJS2 数据显示
阅读量:6991 次
发布时间:2019-06-27

本文共 2365 字,大约阅读时间需要 7 分钟。

hot3.png

本章节我们将为大家介绍如何将数据显示到用户界面上,可以使用以下三种方式:

  • 通过插值表达式显示组件的属性
  • 通过 NgFor 显示数组型属性
  • 通过 NgIf 实现按条件显示

通过插值表达式显示组件的属性

要显示组件的属性,插值是最简单的方式,格式为:{

{属性名}}

以下代码基于  来创建,你可以再该章节上下载源码,并修改以下提到的几个文件。

app/app.component.ts 文件:

import { Component } from '@angular/core';@Component({  selector: 'my-app',  template: `    

{
{title}}

我喜欢的网站: {
{mySite}}

`})export class AppComponent { title = '站点列表'; mySite = '菜鸟教程';}

Angular 会自动从组件中提取 title 和 mySite 属性的值,并显示在浏览器中,显示信息如下:

BAD05521-3124-426C-8A6B-5AF28613557A.jpg

注意:模板是包在反引号 (`) 中的一个多行字符串,而不是单引号 (')。

使用 ngFor 显示数组属性

我们也可以循环输出多个站点,修改以下文件:

app/app.component.ts 文件:

import { Component } from '@angular/core';@Component({  selector: 'my-app',  template: '    

{
{title}}

我喜欢的网站: {
{mySite}}

网站列表:

  • {
    { site }}
'}) export class AppComponent { title = '站点列表'; sites = ['菜鸟教程', 'Google', 'Taobao', 'Facebook']; mySite = this.sites[0];}

代码中我们在模板使用 Angular 的 ngFor 指令来显示 sites 列表中的每一个条目,不要忘记 *ngFor 中的前导星号 (*) 。。

修改后,浏览器显示如下所示:

588F2110-7BAC-40A3-B8A9-6A8DD097BBF0.jpg

实例中 ngFor 循环了一个数组, 事实上 ngFor 可以迭代任何可迭代的对象。

接下来我们在 app 目录下创建 site.ts 的文件,代码如下:

app/site.ts 文件:

export class Site {  constructor(    public id: number,    public name: string) { }}

以上代码中定义了一个带有构造函数和两个属性: id 和 name 的类。

接着我们循环输出 Site 类的 name 属性:

app/app.component.ts 文件:

import { Component } from '@angular/core';import { Site } from './site'; @Component({  selector: 'my-app',  template: '    

{
{title}}

我喜欢的网站: {
{mySite.name}}

网站列表:

  • {
    { site.name }}
'}) export class AppComponent { title = '站点列表'; sites = [ new Site(1, '菜鸟教程'), new Site(2, 'Google'), new Site(3, 'Taobao'), new Site(4, 'Facebook') ]; mySite = this.sites[0];}

修改后,浏览器显示如下所示:

588F2110-7BAC-40A3-B8A9-6A8DD097BBF0.jpg

通过 NgIf 进行条件显示

我们可以使用 NgIf 来设置输出指定条件的数据。

以下实例中我们判断如果网站数 3 个以上,输出提示信息:修改以下 app.component.ts 文件,代码如下:

app/app.component.ts 文件:

import { Component } from '@angular/core';import { Site } from './site'; @Component({  selector: 'my-app',  template: '    

{
{title}}

我喜欢的网站: {
{mySite.name}}

网站列表:

  • {
    { site.name }}

你有很多个喜欢的网站!

'}) export class AppComponent { title = '站点列表'; sites = [ new Site(1, '菜鸟教程'), new Site(2, 'Google'), new Site(3, 'Taobao'), new Site(4, 'Facebook') ]; mySite = this.sites[0];}

修改后,浏览器显示如下所示,底部多了个提示信息:

7931418A-C914-46D3-9EF6-85CAF666FA9B.jpg

转载于:https://my.oschina.net/u/2246951/blog/753614

你可能感兴趣的文章
spring mvc 和声明式事务使用注意事项
查看>>
mysql启动时报错--ERROR! MySQL server PID file could not be found!
查看>>
linux多线程网页截图-python
查看>>
二叉树的性质
查看>>
Mysqlslap性能测试
查看>>
SQLmap使用tamper绕过WAF防火墙过滤
查看>>
无法连接SQL SERVER 2008 的问题
查看>>
魔饰的前世今生 – 体验攻略
查看>>
第三节、大秦帝国的连坐与链表(一)
查看>>
老生常谈:ie6下,a标签href设置javascript:void(0);后绑定的click失效
查看>>
常见经典排序算法
查看>>
django之修改登录访问的内容
查看>>
性能测试培训:定位jvm耗时函数
查看>>
Linux 命令符下安装Oracle
查看>>
it翘楚-兄弟连兄弟会
查看>>
超棒的CSS开源UI界面元素类库 - TopCat
查看>>
javaExecutors并发线程池ThreadPoolExecuto
查看>>
坦克大战源码
查看>>
不限量的快递查询接口-JAVA对接方法
查看>>
jib自定义entrypoint
查看>>