天天看點

Angular 2 資料顯示

本章節我們将為大家介紹如何将資料顯示到使用者界面上,可以使用以下三種方式:

通過插值表達式顯示元件的屬性

通過 NgFor 顯示數組型屬性

通過 NgIf 實作按條件顯示

要顯示元件的屬性,插值是最簡單的方式,格式為:<b>{{屬性名}}</b>。

以下代碼基于 Angular 2 TypeScript 環境配置 來建立,你可以在該章節上下載下傳源碼,并修改以下提到的幾個檔案。

import { Component } from '@angular/core';

@Component({

selector: 'my-app',

template: `

&lt;h1&gt;{{title}}&lt;/h1&gt;

&lt;h2&gt;我喜歡的網站: {{mySite}}&lt;/h2&gt;

`

})

export class AppComponent {

title = '站點清單';

mySite = '菜鳥教程';

}

Angular 會自動從元件中提取 title 和 mySite 屬性的值,并顯示在浏覽器中,顯示資訊如下:

Angular 2 資料顯示
<b>注意:</b>模闆是包在反引号 (`) 中的一個多行字元串,而不是單引号 (')。

我們也可以循環輸出多個站點,修改以下檔案:

&lt;p&gt;網站清單:&lt;/p&gt;

&lt;ul&gt;

&lt;li *ngFor="let site of sites"&gt;

{{ site }}

&lt;/li&gt;

&lt;/ul&gt;

sites = ['菜鳥教程', 'Google', 'Taobao', 'Facebook'];

mySite = this.sites[0];

代碼中我們在模闆使用 Angular 的 ngFor 指令來顯示 sites 清單中的每一個條目,不要忘記 *ngFor 中的前導星号 (*) 。。

修改後,浏覽器顯示如下所示:

Angular 2 資料顯示

執行個體中 ngFor 循環了一個數組, 事實上 ngFor 可以疊代任何可疊代的對象。

接下來我們在 app 目錄下建立 site.ts 的檔案,代碼如下:

export class Site {

constructor(

public id: number,

public name: string) { }

以上代碼中定義了一個帶有構造函數和兩個屬性: id 和 name 的類。

接着我們循環輸出 Site 類的 name 屬性:

import { Site } from './site';

&lt;h2&gt;我喜歡的網站: {{mySite.name}}&lt;/h2&gt;

{{ site.name }}

sites = [

new Site(1, '菜鳥教程'),

new Site(2, 'Google'),

new Site(3, 'Taobao'),

new Site(4, 'Facebook')

];

Angular 2 資料顯示

我們可以使用 NgIf 來設定輸出指定條件的資料。

以下執行個體中我們判斷如果網站數 3 個以上,輸出提示資訊:修改以下 app.component.ts 檔案,代碼如下:

&lt;p *ngIf="sites.length &gt; 3"&gt;你有很多個喜歡的網站!&lt;/p&gt;

修改後,浏覽器顯示如下所示,底部多了個提示資訊:

Angular 2 資料顯示