angularjs培訓之directive(1)

原文鏈接:http://www.sitepoint.com/practical-guide-angularjs-directives/

在angular程序中directive是很重要的組件。儘管Angularjs內置了很多的指令,但是你也經常需要創建特定功能的指令。這篇文章給大家一個指令的基本概述並且詳解怎麼使用。

overview

directive引進了新的語法聲明。directive是通過綁定在DOM元素上的提供特定的功能,例如,靜態的html不知道怎麼創建和顯示一個datepicker組件,爲完成這個新語法功能的實現我們需要定義個directive。directive以某種方式窗機一個元素並且使他的行爲類似一個datepicker。隨後我們將看到這是如何實現的。

如果你以前開發過angularjs應用程序,不管你意識到與否你應該使用過指令。你可能使用過簡單的指令例如ng-model,ng-repeat,ng-show等等。所有的指令都是給元素上綁定特定的行爲。例如,ng-repeat複製特定的元素,ng-show 條件成立則顯示某些元素。如果你要實現一個元素的拖拽功能那麼你統一需要一個指令directive背後的基本思想非常簡單,它使HTML真正互動通過將事件監聽器或DOM元素轉換。

jquery透視

考慮下如何使用jquery創建一個datepicker。首先添加一個input域然後調用jquery的$(element).datePicker()。事實上把輸入的值轉換成datepicker。當一個開發者檢查標籤時,ta可以立馬就能猜出來這個輸入框是什麼元素?僅僅只是一個input域或是一個datepicker?你得去看下jquery的源碼去確認下啦。angular的方法是使用directive擴展html。因此,datepicker的指令就可以像如下:

<date-picker></date-picker>
或者 <input type=”text” date-picker/>
這種方法創建的UI組件不但直觀而且清晰。你看到這個元素就會知道它應該是做什麼的。

構造自定義指令

angularjs的指令有四種表現形式:

1、新的html元素

2、元素的屬性

3、class類

4、註釋

發佈了60 篇原創文章 · 獲贊 22 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章