SlideShare a Scribd company logo
Angular 2 概論
Ann
qoqpop123456@gmail.com
Agenda
• 為什什麼要有Angular 2
• Angular 2特性
• Angular 1 v.s. Angular 2
• TypeScript簡介
2
為什什麼要有Angular 2
⽬目標:為了了跨平台開發
3
Angular 2特性
• 預設就以TypeScript來來做開發

強型別的開發⼤大⼤大強化了了前端的嚴謹性
• 更更快的效能
• 任何寫完的View,都是可以重複利利⽤用的Component
• Angular 2.0推出了了Native Script,可以直接寫Angular 2.0來來⾃自
動轉換成native,產出native app⽽而不是hybrid
• 横跨瀏覽器和Mobile
4
Angular 1 v.s. Angular 2
5
數據綁定 

Angular 2保留留Angular 1中的單向綁定,⼜又細分了了屬性綁定、事件
綁定,並修改了了雙向綁定的使⽤用⽅方式。
6
單向綁定
數據綁定 

Angular 2保留留Angular 1中的單向綁定,⼜又細分了了屬性綁定、事件
綁定,並修改了了雙向綁定的使⽤用⽅方式。
7
屬性綁定
數據綁定 

Angular 2保留留Angular 1中的單向綁定,⼜又細分了了屬性綁定、事件
綁定,並修改了了雙向綁定的使⽤用⽅方式。
8
事件綁定
數據綁定 

Angular 2保留留Angular 1中的單向綁定,⼜又細分了了屬性綁定、事件
綁定,並修改了了雙向綁定的使⽤用⽅方式。
9
雙向綁定
有⼈人說這叫香蕉表達式 banana in a box [()]
控制器/組件(Controller/Components)

Angular 1 : Directive + Controller

Angular 2 : Component
10
11
指令(Template Directives) 

Angular 2 細分以下兩兩種指令:

"結構指令"(Structural directives)

*ngFor、*ngIf等結構指令,會透過新增、刪除、替換Dom元素来修改⾴頁⾯面佈局

"屬性指令"(Attribute directives)
ngStyle等屬性指令,可以同时修改元素的多种样式。
12
依賴注入(Dependency Injection)

Angular 1中,我们可以在Controller等⽅方法中透過名字注入依賴
Angular 2中,我们需要在constructor 中,以參參數的形式注入。
13
模塊(Modules)

在Angular 1中,我們透過定義Modules,來來管理理我們的Controllers、
Services、Directives等。

在Angular 2中沒有⾃自⼰己的Module,⽽而是使⽤用ES6的模塊系统,⽽而
ES6的模塊系統是指每⼀一個⽂文件就是⼀一個Module。
ES6=ES 2015
TypeScript 簡介
• TypeScript 是什什麼
• TypeScript 的優點
14
TypeScript 是什什麼
15
• 完全基於JavaScript的語法

有點像是「擴充版的 JavaScript」。
• 可執⾏行行於任何瀏覽器,開發於任何作業系統(OS)。
• 可使⽤用 ES6 語法開發,執⾏行行於不⽀支援 ES6 的瀏覽器。
TypeScript 由微軟開發,出⾃自C#之⽗父 Anders Hejlsberg 之⼿手!
TypeScript 的優點
16
• 強型別

幫助檢查「是否打錯字」或是「型別對應不正確」的問題。
• 減少重複的 code

⼀一次學習,到處書寫

• 限制存取範圍

可以⽅方法利利⽤用 public / private / protected 來來限制存取權限

變數可以利利⽤用 let 來來使⽤用區域變數。
「新寫法」與「舊瀏覽器」無縫接軌
17
你是否有過,開發時還要查詢使⽤用的語法是哪⼀一版的 ES
User 的瀏覽器是否⽀支援這個寫法?
新增Class
TypeScript 怎麼辦到的
18
TypeScript最終還是會轉成JavaScript
*ES5 語法:ECMAScript 5 是 JavaScript 的標準化規範,
也是⽬目前最多瀏覽器⽀支援的版本。
假如你⽤用ES6的寫法來來編寫 TypeScript,
開發⼯工具在編譯的時候就會幫你轉為
「所有」瀏覽器看的懂得東⻄西(ES5 語法)!
對TypeScript的檔案進⾏行行偵錯
The End
Thanks
參參考資源
• https://angular.io
• http://slidedeck.io/wongjohn/angular1-vs-
angular2#dataBinding
• http://ryanhsutw.blogspot.tw/2016/05/
typescript.html
20

More Related Content

PPTX
2018-01-06 Study4Love Conference - Rendertron
PPTX
ModernWeb 2017 angular component
PPTX
Study4 love.2016.2.20.ionic
PPTX
Angular 5 全新功能探索 @ JSDC2017
PDF
AngularJS training in Luster
PPTX
ASP.NET Core 3.0 新功能
PPTX
Micro-frontends with Angular 10 (Modern Web 2020)
PDF
Angular Taiwan 2019 - 大型 Angular 專案的的管理心得與技巧
2018-01-06 Study4Love Conference - Rendertron
ModernWeb 2017 angular component
Study4 love.2016.2.20.ionic
Angular 5 全新功能探索 @ JSDC2017
AngularJS training in Luster
ASP.NET Core 3.0 新功能
Micro-frontends with Angular 10 (Modern Web 2020)
Angular Taiwan 2019 - 大型 Angular 專案的的管理心得與技巧

Viewers also liked (13)

DOC
NicolasCV
PPTX
Lenguaje Oral y Escrita
PDF
Driver Hire Australia Brochure
PPTX
Iñaki gabilondo retocado.pptx
PPTX
Cultura empresarial mc donald vs vips (1)
DOC
Modul Normalisasi
PDF
EPC Oil and Gas Investment Opportunity
PPT
Alat ukur komponen elektronik
PPT
Sistem berkas baru
PPTX
MONETARY POLICY OF BANGLADESH
PPTX
Alatan elektronik
ODP
Manufacturing Process Of Ceramic Tiles
PPTX
Indonesian Mobile Market Research Dec 2014
NicolasCV
Lenguaje Oral y Escrita
Driver Hire Australia Brochure
Iñaki gabilondo retocado.pptx
Cultura empresarial mc donald vs vips (1)
Modul Normalisasi
EPC Oil and Gas Investment Opportunity
Alat ukur komponen elektronik
Sistem berkas baru
MONETARY POLICY OF BANGLADESH
Alatan elektronik
Manufacturing Process Of Ceramic Tiles
Indonesian Mobile Market Research Dec 2014
Ad

Angular js 2 概論