[ Angular ] 快快樂樂學習 Angular 之路 - 3 資料繫結 Binding Syntax

前言

最近都在處理一個棘手的重構的案子,

所以這系列的更新就擱置下來了 QQ

不過在這段期間 Angular 2 也更新到了 RC5 了,

多了一些方便設定的好處,

也會在之後慢慢介紹它 :P

上一篇文章提到了Component的基本操作,

但網頁不可能只用基本的 html templete去組成,

我們會需要在Component去處理畫面上顯示值

或是內外層的Component互相溝通﹑傳遞資料

 

Angular 2 四種資料繫結方式

內嵌繫結 ( interpolation )
屬性繫結 ( property )
事件繫結 (event)
雙向繫結 (two way binding)

話不多說我們來邊做編解釋吧,

由於說中文的繫結實在非常的繞口,

容我在後面都使用英文 binding 來做解說,

畢竟還是看圖有趣些 :P

 

內嵌繫結

這種binding應該是最簡單能夠理解的,

這邊我們要注意的他專屬的符號 {{ variable }}。

我們可以看到在angular-cli 產生的 templete 當中就有使用蹤跡了,

用來設定我們一開始顯示的 app work ! 

再來看看我們的 component 的 typescript檔內如何去給定值呢 ?

只需要在 export class 的地方宣告一個變數跟外部 {{ variable }} 名稱對應即可。

屬性繫結

這種binding使用的符號是 [ property ] 來做設定的,

下面的範例會以簡單設定class去改變他的顏色,

當然property binding的好用之處當然不只這些,

最有代表性的當然是從外部component 將值傳遞給內層 component ,

當然這在後面會再提到,現在我們就先簡單認識一下這幾種binding不同之處吧。

結果 

事件繫結

這種繫結用在我們想要讓元素間產生一點互動,

這邊完全支援html5 的事件觸發,

這裡我們可以舉一個最常見的 click 事件來說明,

使用到的符號是 ( event )。

注意到了嗎,正常我們在 html5 內使用的事件會使用 on 開頭,在 Angular 2中必須要將 on 拔掉喔,這是一個需要注意的地方 !! 

簡單的使用一個 alert 來測試功能是否正常。

結果

 

雙向繫結

雙向繫結的符號十分有趣, [( variable )]

實際上就是屬性繫結加上事件繫節組成,

那這邊我們可以做一個輸入框及時更改title的範例,

讓我們快速了解這到底是什麼東西 !


小結

以上是四種 binding 非常簡易的解說,

希望各位可以輕鬆的入門在慢慢想要如何去實用它!

 

近況

最近正在進行大範圍的舊程式重構,是之前產學實習的學生寫的,

正在被各種全域變數、詭異命名、萬航程式馬摧殘當中,

覺得精神耗弱,不過這也讓我開始再看一些 OOAD的書籍,

希望在之後能幫助產學實習生了解該如何做出較好維護的程式架構。

現在心情大概跟這張圖一樣 XD

圖片來源 : http://www.thenewslens.com/article/39189