AngularJS – Directive & Filter 介紹篇

為了方便文章閱讀,本篇將filter翻譯成過濾器、directive翻譯成指示指令

在看過前幾篇的AngularJS的教學後,我們對AngularJS的開發應該有了基本的認識,針對HTML文件中我們的操作有:

針對頁面引入應用程式模組

<html ng-app="store">

針對頁面引入控制器

<body ng-controller="StoreController as store">

針對頁面去顯示或隱藏元素

<h1 ng-show="name">Hello, {{ name }} !</h1>

針對大量的資料設定重複的區域

<li ng-repeat="product in store.products">{{ product.name }}</li>
AngularJS Part4 Slide1

接下來針對過濾器來介紹,依下圖所示產品價格的部分,有的是有小數點有的沒有,會造成頁面在資料呈現上的參差不齊。

AngularJS Part4 Slide2

若我們在該表達式(expression)加上一條直線(pipe),在直線後面可以加入一些過濾器,本範例加入的是貨幣格式的過濾器,當加入後價格在頁面上顯示的格式,就會自動加上了$符號和兩位數的小數點。

AngularJS Part4 Slide3

我們也可以在過濾器後面利用冒號再加上一些選項,讓呈現的資料更不同,例如下圖中date格式中是以「月/日/年 @ 時:分AM」這樣的方式顯示,而除了貨幣currency、日期date的過濾器之外,還包含有大小寫轉換的uppercase、lowercase、字數也可以當成資料呈現筆數的limitTo、另外還有可以針對重複性的資料進行排序的orderBy,大概的使用方式可以參考下圖,或是在JS Bin看看馬老師製作的案例。

AngularJS Part4 Slide4

另外關於指示指令部分,在這次的案例上我們加上產品的圖片,圖片的部分有兩種,一個是大圖;另一個是產品的縮圖,也因為有兩種不同的資料,要注意他被加在數列裡面的方式。

AngularJS Part4 Slide5

在頁面上顯示圖片的方式要注意不是用src的屬性去呈現,而是需要用ng-src這個屬性,加上圖片欄位的表達式即可,在JS Bin上面觀賞本案例程式碼。

AngularJS Part4 Slide6

※以上截圖部分為AngularJS官方教學視訊,另有filter指令介紹的專頁和所有filter清單

You may also like...

18,065 Responses

  1. DarrenUnjuh表示:

    https://lisinopril1st.com/# Lisinopril 1st

  2. Узнай все о удаление полипа в эндометрии маткиудаление полипа на шейке матки

  3. AlbertDuM表示:

    cheapest Lisinopril: lisinopril 10 mg over the counter – 60 mg lisinopril

  4. BrandenSlomy表示:

    can i buy generic clomid pills: clomid purchase online rex pharm – buy generic clomid without insurance

  5. BernardMop表示:

    Plavix generic price buy plavix online cheap plavix antiplatelet drug

  6. BrandenSlomy表示:

    prednisone 25mg from canada: cheap prednisone – prednisone 50 mg tablet cost

  7. AlbertDuM表示:

    prinivil medication: buy Lisinopril online – lisinopril1st

  8. BrandenSlomy表示:

    where to get clomid without dr prescription: where to buy generic clomid without insurance – where buy cheap clomid without dr prescription

  9. нарколог на дом в краснодаре [url=https://www.chesskomi.borda.ru/?1-8-0-00003045-000-0-0-1730729839]https://www.chesskomi.borda.ru/?1-8-0-00003045-000-0-0-1730729839[/url] .

  10. BrandenSlomy表示:

    dapoxetine online: dapoxetine price – max pharm

  11. вызвать нарколога на дом [url=https://automobilist.forum24.ru/?1-19-0-00000138-000-0-0-1730729674/]automobilist.forum24.ru/?1-19-0-00000138-000-0-0-1730729674[/url] .

  12. частный нарколог на дом [url=https://familyportal.forumrom.com/viewtopic.php?id=28566/]familyportal.forumrom.com/viewtopic.php?id=28566[/url] .

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。