Angular 4 入門

第二章

第一節(jié):Angular? 程序架構:

component: 組件的嵌套

service: 用來封裝可重用的業(yè)務邏輯代碼

指令: 向HTML元素添加自定義行為

module: 用來實現(xiàn)功能:登錄、注冊

第二節(jié) 搭建Angular 開發(fā)環(huán)境:

安裝 node.js? Angular CLI? Webstorm

Angular CLI :

1.查看 Angular CLI版本? ng -v

2.全局安裝: npm install -g @angular/cli

3 生成項目: ng new 項目名

路徑:src/app/app.component.ts

src文件:

component.ts: App應用的基礎

// 引入組件裝飾器:

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

// 輸出一個typescript 類:

export class AppComponent { title = 'app works' };? // 其中定義了組件的控制器

// 通過 組件元數(shù)據(jù)裝飾器 Component的元數(shù)據(jù) 將上述類 注解為一個組件:

@Component ({

selector: 'app-root',? //? 即該組件可以通過一個標簽來調(diào)用

templateUrl: './app.component.html',? // 定義組件的模板

styleUrls: ['./app.component.css']? // 定義組件的樣式

})

Component: 組件的概念

必備要素:

1.裝飾器(組件元數(shù)據(jù)裝飾器):@Componet()? 用來告知框架如何處理typescript類,包含多個屬性,這些屬性的值叫做元數(shù)據(jù)澳厢,

框架根據(jù)這些元數(shù)據(jù)來渲染組件敌蚜、執(zhí)行相應的邏輯工碾。

2.模板:Template? 即視圖

3.控制器:Controller 控制數(shù)據(jù)岸啡、執(zhí)行代碼

4.數(shù)據(jù)綁定:讓模板和控制器相互作用鸵赖。

可選元素:

1.輸入屬性: @inputs)()? 接收外部傳入的數(shù)據(jù)? 使父組件可以直接將數(shù)據(jù)傳遞給子組件

2.提供器: providers? 做依賴注入

3.生命周期鉤子: Lifecycle Hooks? 組件從創(chuàng)建到銷毀會產(chǎn)生多個鉤子毕贼,從而用來觸發(fā)多個業(yè)務邏輯

4.樣式表: styles

5.動畫: Animations

6. 輸出屬性? @Outputs? 與輸入屬性相對

路徑: src/app/app.module.ts

@NgModule({? // 使用模塊裝飾器聲明一個模塊

declarations: [? //聲明模塊中有什么東西? 包括組件温赔、管道、指令

AppComponent

],

imports:[? // 聲明該模塊依賴的模塊? 可以使用其他模塊的組件帅刀、服務等

BrowserModule? // 瀏覽器模塊

FormModule,? // 表單模塊

HttpModule? ? // http 服務模塊

],

providers: [],? // 聲明模塊中提供了什么服務

bootstrap: [AppComponent]? // 聲明模塊的主組件

})

export class AppModule {}

第三節(jié): 啟動Angular過程介紹:

angular-cli.json 文件解讀:

"project": {

"name": "angular-study"? ? // 項目名稱

},

"apps": [

{

"root": "src",? ? ? ? ? // 文件根路徑

"outDir": "dist",

"assets": [

"assets",

"favicon.ico"

],

"index": "index.html",? ? // 所在目錄: src/index.html

"main": "main.ts",? ? ? ? // 所在目錄: src/main.ts

"polyfills": "polyfills.ts",

"test": "test.ts",

"tsconfig": "tsconfig.app.json",

"testTsconfig": "tsconfig.spec.json",

"prefix": "app",

"styles": [

"styles.css"

],

"scripts": [],

"environmentSource": "environments/environment.ts",

"environments": {

"dev": "environments/environment.ts",

"prod": "environments/environment.prod.ts"

}

}

],

......

main.ts? 文件解讀:

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

// 核心模塊的方法? 用來關閉Angular的開發(fā)者模式

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';? ? //告知瀏覽器用哪個模塊啟動Angular 項目

import { AppModule } from './app/app.module';? ? // 導入Angular應用的主模塊

import { environment } from './environments/environment';? // 引入環(huán)境配置

if (environment.production) {? // 若為開發(fā)環(huán)境让腹,則啟動該方法

enableProdMode();

}

platformBrowserDynamic().bootstrapModule(AppModule)? // 啟動應用? 這里是整個應用開始的起點

.catch(err => console.log(err));

應用啟動過程:

(1)在main.js文件中啟動應用,運行AppModule模塊

(2)在 app.module.ts文件應用主模塊中扣溺,加載相應的引入方法骇窍、依賴模塊,

并找到“主組件”:AppComponent.

(3)在src/index.html文件中找到主組件的css選擇器: 锥余,

(4)接著腹纳,在主組件AppComponent,即文件:src/app/app.component.ts中找到對應

的模板:app.component.html,用于替換該css選擇器嘲恍,并加載相應的樣式足画。

第四節(jié): 開發(fā)準備:

安裝? admin-lte? 以及相關依賴的工具,生成框架模板佃牛。

第五節(jié): 開發(fā)項目組件:

(1)angular-cli 生成相應組件: ng g component header

在app文件夾下生成header文件夾并生成4個文件:

src/app/header/header.component.css (0 bytes)? ? // 組件樣式

src/app/header/header.component.html (25 bytes)? // 組件HTML模板

src/app/header/header.component.spec.ts (628 bytes)? // 組件檢測文件

src/app/header/header.component.ts (329 bytes)? ? // 組件ts文件

同時更新了文件: app.module.ts 文件: 在該文件中引入header 組件

(2)在app-content 中插入表單組件淹辞,製造假數(shù)據(jù),并渲染頁面:

在stock-manage.component.ts 文件中:

創(chuàng)建類:Stock:

export class Stock {

constructor (

public id: number,

public name: string,

public price: number,

public rating: number,

public desc: string,

public categories: Array) {

}

}

初始化通過中俘侠,創(chuàng)建數(shù)據(jù):stocks:

private? stocks: Array;

// 初始化數(shù)據(jù):

ngOnInit() {

this.stocks = [

new Stock(1,"第一支股票",1.99,3.5, "我的第一支股票象缀,哈哈哈哈", ['IT',"互聯(lián)網(wǎng)"] ),

new Stock(2,"第一支股票",1.99,4.5, "我的第一支股票,哈哈哈哈", ['IT',"互聯(lián)網(wǎng)"] ),

new Stock(3,"第一支股票",1.99,1.5, "我的第一支股票爷速,哈哈哈哈", ['IT',"互聯(lián)網(wǎng)"] ),

new Stock(4,"第一支股票",1.99,2.5, "我的第一支股票央星,哈哈哈哈", ['IT',"互聯(lián)網(wǎng)"] ),

new Stock(5,"第一支股票",1.99,1.5, "我的第一支股票,哈哈哈哈", ['IT',"互聯(lián)網(wǎng)"] )

];

第六節(jié): 數(shù)據(jù)的嵌套與傳入:

實現(xiàn)功能: 股票評級

stock-manage.componnet.html:

{{ i + 1 }}

{{stock.name}}

{{stock.price}}

修改

刪除

55%

遍歷數(shù)組? stocks;引入app-stars 組件并傳遞數(shù)據(jù):[rating]="stock.rating"

stars組件:

[class.glyphicon-star-empty]="star">

根據(jù)數(shù)據(jù)判斷 選擇哪個類名

import { Component,Input, OnInit, ViewEncapsulation } from '@angular/core';? // 引入Input功能模塊

@Component({

selector: 'app-stars',

templateUrl: './stars.component.html',

styleUrls: ['./stars.component.css'],

encapsulation: ViewEncapsulation.None

})

export class StarsComponent implements OnInit {

@Input()

rating: number = 0;? // 定義引入? rating? 并初始化數(shù)據(jù)為0

stars: boolean[];

constructor() { }

ngOnInit() {

this.stars = [];

for (let i = 1;i<=5;i++) {? ? // 生成stars數(shù)據(jù)

this.stars.push(i>this.rating);

}

}

}



最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末惫东,一起剝皮案震驚了整個濱河市莉给,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌廉沮,老刑警劉巖颓遏,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異废封,居然都是意外死亡州泊,警方通過查閱死者的電腦和手機丧蘸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門漂洋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人力喷,你說我怎么就攤上這事刽漂。” “怎么了弟孟?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵贝咙,是天一觀的道長。 經(jīng)常有香客問我拂募,道長庭猩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任陈症,我火速辦了婚禮蔼水,結果婚禮上,老公的妹妹穿的比我還像新娘录肯。我一直安慰自己趴腋,他們只是感情好,可當我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著优炬,像睡著了一般颁井。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蠢护,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天雅宾,我揣著相機與錄音,去河邊找鬼葵硕。 笑死秀又,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的贬芥。 我是一名探鬼主播吐辙,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蘸劈!你這毒婦竟也來了昏苏?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤威沫,失蹤者是張志新(化名)和其女友劉穎贤惯,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體棒掠,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡孵构,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了烟很。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片颈墅。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖雾袱,靈堂內(nèi)的尸體忽然破棺而出恤筛,到底是詐尸還是另有隱情,我是刑警寧澤芹橡,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布毒坛,位于F島的核電站,受9級特大地震影響林说,放射性物質(zhì)發(fā)生泄漏煎殷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一腿箩、第九天 我趴在偏房一處隱蔽的房頂上張望豪直。 院中可真熱鬧,春花似錦度秘、人聲如沸顶伞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽唆貌。三九已至滑潘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間锨咙,已是汗流浹背语卤。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留酪刀,地道東北人粹舵。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像骂倘,于是被迫代替她去往敵國和親眼滤。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容