angular4-開發(fā)指南

angular4-開發(fā)指南

var elems = document.querySelectorAll('.original-english');

[].forEach.call(elems, function(el) {
    el.classList.remove("hidden");
});

中英文對比學習。中文網(wǎng)站翻譯的不是很好例朱,有些語義不是很明確孝情,需要參考英文學習。

  • 使用angular 擴展語法編寫HTML模板
  • 組件類管理模板
  • 服務(wù)添加應(yīng)用邏輯
  • 模塊打包發(fā)布組件和服務(wù)
  • 引導(dǎo)根模塊啟動應(yīng)用
  • Angular 在瀏覽器中接管洒嗤、展現(xiàn)應(yīng)用的內(nèi)容箫荡,并根據(jù)我們提供的操作指令響應(yīng)用戶交互。

架構(gòu)圖:


從以上架構(gòu)圖可以看出主要由八大部分:

  • 模塊-module
  • 組件-component
  • 模板-template
  • 元數(shù)據(jù)-metadata
  • 數(shù)據(jù)綁定-data binding
    • 單向綁定
    • 雙向綁定
  • 指令-directive
  • 服務(wù)-service
  • 依賴注入-dependency injection

模塊

  1. angular應(yīng)用是模塊化的渔隶,有自己的模塊系統(tǒng)-NgModules,區(qū)別于JavaScript 模塊羔挡。
  2. 至少一個根模塊,appModule
  3. 每個模塊是一個內(nèi)聚代碼塊
  4. angular模塊是帶有 @NgModule 裝飾器的類,接收一個用來描述模塊屬性的元數(shù)據(jù)對象间唉。其中最重要的屬性是:
    • declarations:聲明本模塊中擁有的視圖類.三大視圖類:component绞灼,directive,pipe,在使用ng-cli命令創(chuàng)建時,會自動更新appModule
    • imports - 本模塊聲明的組件模板需要的類所在的其它模塊
    • providers - 服務(wù)的創(chuàng)建者呈野,并加入到全局服務(wù)列表中低矮,可用于應(yīng)用任何部分。
    • exports - declarations 的子集被冒,可用于其它模塊的組件模板军掂。

5轮蜕、我們通過引導(dǎo)根模塊來啟動應(yīng)用

組件

組件控制視圖,組件是個特殊的指令
組件通過一些由屬性和方法組成的 API 與視圖交互蝗锥。

Angular creates, updates, and destroys components as the user moves through the application.

Your app can take action at each moment in this lifecycle through optional lifecycle hooks跃洛。

@angular/core/src/metadata/directives.d.ts

模板

通過模板定義組件視圖,告訴angular如何渲染組件终议。

元數(shù)據(jù)

Metadata tells Angular how to process a class.

In TypeScript, you attach metadata by using a decorator.

component metadata:


The template, metadata, and component together describe a view.

Apply other metadata decorators in a similar fashion to guide Angular behavior. @Injectable, @Input, and @Output are a few of the more popular decorators.

數(shù)據(jù)綁定

As the diagram shows, there are four forms of data binding syntax. Each form has a direction — to the DOM, from the DOM, or in both directions.

Two-way data binding is an important fourth form that combines property and event binding in a single notation, using the ngModel directive.

數(shù)據(jù)綁定在模板與對應(yīng)組件的交互中扮演了重要的角色税课。
數(shù)據(jù)綁定在父組件與子組件的通訊中也同樣重要。


指令

  • A component is a directive-with-a-template --組件是一種特殊指令
  • structural directive-結(jié)構(gòu)型指令通過在 DOM 中添加痊剖、移除和替換元素來修改布局。
    • *ngIf
    • *ngFor
    • *ngSwitch
  • attribute directive --屬性型 指令修改一個現(xiàn)有元素的外觀或行為
    • ngModule
    • ngClass
    • ngStyle

服務(wù)

  • 設(shè)計良好的組件為數(shù)據(jù)綁定提供屬性和方法垒玲,把其它瑣事都委托給服務(wù)陆馁。

依賴注入

  • Angular使用依賴注入來為新組件提供他們需要的服務(wù)。
  • Angular 通過查看構(gòu)造函數(shù)的參數(shù)類型得知組件需要哪些服務(wù)
  • 當Angular創(chuàng)建一個組件時合愈,它首先要求一個注入器來獲取組件所需的服務(wù)叮贩。
  • 注入器維護其先前創(chuàng)建的服務(wù)實例的容器
  • 如果請求的服務(wù)實例不在容器中,則注入器會生成并將其添加到容器中佛析,然后將服務(wù)返回給Angular
  • 當所有請求的服務(wù)都被解析并返回時益老,Angular可以使用這些服務(wù)作為參數(shù)調(diào)用組件的構(gòu)造函數(shù)
  • 注入器如何創(chuàng)建新實例:provider,provider 可以創(chuàng)建或返回服務(wù)寸莫,通常是服務(wù)類本身捺萌。
  • 可以在模塊中或組件中注冊提供商
  • 把它注冊在組件級表示該組件的每一個新實例都會有一個服務(wù)的新實例。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末膘茎,一起剝皮案震驚了整個濱河市桃纯,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌披坏,老刑警劉巖态坦,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異棒拂,居然都是意外死亡伞梯,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門帚屉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谜诫,“玉大人,你說我怎么就攤上這事涮阔〔滦澹” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵敬特,是天一觀的道長掰邢。 經(jīng)常有香客問我牺陶,道長,這世上最難降的妖魔是什么辣之? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任掰伸,我火速辦了婚禮,結(jié)果婚禮上怀估,老公的妹妹穿的比我還像新娘狮鸭。我一直安慰自己,他們只是感情好多搀,可當我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布歧蕉。 她就那樣靜靜地躺著,像睡著了一般康铭。 火紅的嫁衣襯著肌膚如雪惯退。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天从藤,我揣著相機與錄音催跪,去河邊找鬼。 笑死夷野,一個胖子當著我的面吹牛懊蒸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播悯搔,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼骑丸,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了妒貌?” 一聲冷哼從身側(cè)響起者娱,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎苏揣,沒想到半個月后黄鳍,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡平匈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年框沟,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片增炭。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡忍燥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出隙姿,到底是詐尸還是另有隱情梅垄,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布输玷,位于F島的核電站队丝,受9級特大地震影響靡馁,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜机久,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一臭墨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧膘盖,春花似錦胧弛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至软棺,卻和暖如春掺冠,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背码党。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留斥黑,地道東北人揖盘。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像锌奴,于是被迫代替她去往敵國和親兽狭。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,592評論 2 353

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

  • Angular 2架構(gòu)總覽 - 簡書http://www.reibang.com/p/aeb11061b82c A...
    葡萄喃喃囈語閱讀 1,485評論 2 13
  • 版本:Angular 5.0.0-alpha AngularDart(本文檔中我們通常簡稱 Angular ) 是...
    soojade閱讀 832評論 0 4
  • Angular 2是一個幫助我們使用HTML和JavaScript構(gòu)建客戶端應(yīng)用的框架鹿蜀。這個框架包含幾個互相協(xié)作的...
    JasonQiao閱讀 7,114評論 1 48
  • ふなびん(船便)こうくうびん(航空便)ふな(船)ふながいしゃ(船會社) しょるい(書類)しゅるい(種類) えきまえ...
    lhhhq閱讀 852評論 0 0
  • 海邊的舊碼頭箕慧,搖搖欲墜的破木頭向海灣伸出了手。海浪帶著沙茴恰,來了又去颠焦,去了又來。有時候還夾著不知名的小魚往枣,那些小魚被...
    薄稚閱讀 687評論 4 4