W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
組件是 Angular 應用的主要構造塊。每個組件包括如下部分:
本主題描述如何創(chuàng)建和配置 Angular 組件。
要查看或下載本主題中使用的范例代碼,請參閱 現(xiàn)場演練 / 下載范例。
要創(chuàng)建一個組件,請先驗證你是否滿足以下先決條件:
ng new <project-name>
? 創(chuàng)建一個,其中 ?<project-name>
? 是你的 Angular 應用的名字。Angular CLI 是用來創(chuàng)建組件的最簡途徑。你也可以手動創(chuàng)建一個組件。
使用 Angular CLI 創(chuàng)建一個組件:
ng generate component <component-name>
? 命令,其中 ?<component-name>
? 是新組件的名字。默認情況下,該命令會創(chuàng)建以下內容:
<component-name>.component.ts
?<component-name>.component.html
?<component-name>.component.css
?<component-name>.component.spec.ts
?其中 ?<component-name>
? 是組件的名稱。
你可以更改 ?
ng generate component
? 創(chuàng)建新組件的方式。
雖然 Angular CLI 是創(chuàng)建 Angular 組件的最佳途徑,但你也可以手動創(chuàng)建一個組件。本節(jié)將介紹如何在現(xiàn)有的 Angular 項目中創(chuàng)建核心組件文件。
要手動創(chuàng)建一個新組件:
<component-name>.component.ts
? 。import { Component } from '@angular/core';
import
?語句之后,添加一個 ?@Component
? 裝飾器。@Component({
})
@Component({
selector: 'app-component-overview',
})
@Component({
selector: 'app-component-overview',
templateUrl: './component-overview.component.html',
})
@Component({
selector: 'app-component-overview',
templateUrl: './component-overview.component.html',
styleUrls: ['./component-overview.component.css']
})
class
?語句。export class ComponentOverviewComponent {
}
每個組件都需要一個 CSS 選擇器。選擇器會告訴 Angular:當在模板 HTML 中找到相應的標簽時,就把該組件實例化在那里。例如,考慮一個組件 ?hello-world.component.ts
? ,它的選擇器定義為 ?app-hello-world
? 。 當 ?<app-hello-world>
? 出現(xiàn)在模板中時,這個選擇器就會讓 Angular 實例化該組件。
在 ?@Component
? 裝飾器中添加一個 ?selector
?語句來指定組件的選擇器。
@Component({
selector: 'app-component-overview',
})
模板是一段 HTML,它告訴 Angular 如何在應用中渲染組件??梢酝ㄟ^以下兩種方式之一為組件定義模板:引用外部文件,或直接寫在組件內部。
要把模板定義為外部文件,就要把 ?templateUrl
?添加到 ?@Component
? 裝飾器中。
@Component({
selector: 'app-component-overview',
templateUrl: './component-overview.component.html',
})
要在組件中定義模板,就要把一個 ?template
?屬性添加到 ?@Component
? 中,該屬性的內容是要使用的 HTML。
@Component({
selector: 'app-component-overview',
template: '<h1>Hello World!</h1>',
})
如果你想讓模板跨越多行,可以使用反引號( ?`
? )。例如:
@Component({
selector: 'app-component-overview',
template: `
<h1>Hello World!</h1>
<p>This template definition spans multiple lines.</p>
`
})
Angular 組件需要一個用 ?
template
?或 ?templateUrl
?定義的模板。但你不能在組件中同時擁有這兩個語句。
有兩種方式可以為組件的模板聲明樣式:引用一個外部文件,或直接寫在組件內部。
要在單獨的文件中聲明組件的樣式,就要把 ?styleUrls
?屬性添加到 ?@Component
? 裝飾器中。
@Component({
selector: 'app-component-overview',
templateUrl: './component-overview.component.html',
styleUrls: ['./component-overview.component.css']
})
要想在組件內部聲明樣式,就要把 ?styles
?屬性添加到 ?@Component
?,該屬性的內容是你要用的樣式。
@Component({
selector: 'app-component-overview',
template: '<h1>Hello World!</h1>',
styles: ['h1 { font-weight: normal; }']
})
?styles
?屬性接受一個包含 CSS 規(guī)則的字符串數(shù)組。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: