Angular 中常用指令理解

1. ng-change

input 等html元素 有改變的時(shí)候的調(diào)用

2. ng-model

ng-model 指令用于綁定應(yīng)用程序數(shù)據(jù)到 HTML 控制器(input, select, textarea)的值遂跟。 相當(dāng)于綁定 input 綁定中的 值
備注:后面可以接變量 览绿,也可以接表達(dá)式

3. ng-options

點(diǎn)擊下拉列表
使用數(shù)組元素填充下拉列表:
備注:
item as item.compText 顯示的時(shí)候是顯示 item.compText 字段

 <select ng-change="changeComp();" ng-model="comp" ng-options="item as item.compText for item in comps"></select>

4. ng-bind

指令告訴 AngularJS 使用給定的變量或表達(dá)式的值來替換 HTML 元素的內(nèi)容。
如果給定的變量或表達(dá)式修改了,指定替換的 HTML 元素也會(huì)修改遵绰。
備注:可以綁定的內(nèi)容有很多
a. 變量

  <span ng-bind="year.year"></span>

b. 函數(shù),以及表達(dá)式

  <div class="date-picker" ng-click="datePlugin();" ng-bind="pickerResult();">2016-08-15 星期一</div>

c.多次filter增淹,就是多次過濾

 <span ng-bind="yearPicker[yearIndex].year"></span>年<span ng-bind="monthIndex | parseMonth"></span>月

與{{}}意義差不多椿访,但是推薦使用 ng-bind

<p>{{text}}</p> 未被渲染的模板可能會(huì)被用戶看到

<p ng-bind="text"></p>

d.變量加固定的值,就是以字符串拼接

  <div class="title-div" ng-bind="employeeInfo.empName + '調(diào)休'"></div>

5. ng-repeat

ng-repeat 指令用于循環(huán)輸出指定次數(shù)的 HTML 元素虑润。
集合必須是數(shù)組或?qū)ο?br> 其實(shí)就是 for 循環(huán)

                   <div class="body-class" ng-repeat="item in bodyClasses">
                        <div ng-class="bodyClassChoseIndex == $index ? 'selected' : ''" ng-bind="item.name" ng-click="selectBodyClass($index);"></div>
                    </div>
                    <div class="clear"></div>
                </div>

備注:如 代碼中顯示的 在 下級(jí)的 div 中成玫,循環(huán)的內(nèi)容是繼續(xù)可以在使用的,下級(jí)中可以繼續(xù)使用 item $index 表示當(dāng)前obj在數(shù)組中的 位置
擴(kuò)展:關(guān)于在 數(shù)組中先 刷選出 一部分符合條件的數(shù)組端辱,然后再進(jìn)行循環(huán)====> 可以在后面加filter,但是要避免$index 的bug
參看下面的一篇文章
http://blog.csdn.net/renfufei/article/details/43061877

6.ng-style (還需要具體再看)

添加樣式
使用AngularJS添加樣式虽画,使用 CSS key=>value 對(duì)象格式:

  <div class="reserve-tooltip-arrow" ng-style="timeUnit | tooltipArrowStyle:times.length:$parent.$index:employeeReserves.length"></div>
   <div ng-style="employeesChose | employeesChoseWrapper">
 <div class="boxes" ng-style="pending.timeUnit.reserves | listWidth:1">
<h1 ng-style="myObj">菜鳥教程</h1>
<body ng-app="myApp" ng-controller="myCtrl">

<h1 ng-style="myObj">菜鳥教程</h1>

<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
    $scope.myObj = {
        "color" : "white",
        "background-color" : "coral",
        "font-size" : "60px",
        "padding" : "50px"
    }
});
</script>
</body>

7.ng-mouseenter

a.在鼠標(biāo)指針穿過元素時(shí)執(zhí)行表達(dá)式:
b.ng-mouseenter 指令不會(huì)覆蓋元素的原生 onmouseenter 事件, 事件觸發(fā)時(shí)舞蔽,ng-mouseenter 表達(dá)式與原生的 onmouseenter 事件將都會(huì)執(zhí)行。
備注:可以是控制一個(gè)表達(dá)式码撰,也可以是改變一個(gè)變量的值渗柿,從而發(fā)生一系列相應(yīng)的變化

  <td ng-class="timeUnit | unitClass" ng-repeat="timeUnit in employee.timeUnits" ng-style="timeUnit | unitWidth" ng-click="timeUnitClickHandler(employee, timeUnit, $index);" ng-mouseenter="timeUnit.showTip = true;" ng-mouseleave="timeUnit.showTip = false;">

8.ng-src

ng-src 指令覆蓋了 img 元素的 src 屬性。
就是綁定 img 的鏈接src

  <img ng-src="{{item.designerAvatar | formatImg:180:200:'http://static.bokao2o.com/noimg.png'}}"/>

9.ng-init

初始化應(yīng)用時(shí)創(chuàng)建一個(gè)變量

<div ng-app="" ng-init="myText='Hello World!'">

<h1>{{myText}}</h1>

10.ng-class

ng-class 指令用于給 HTML 元素動(dòng)態(tài)綁定一個(gè)或多個(gè) CSS 類脖岛。
指令的值可以是字符串朵栖,對(duì)象,或一個(gè)數(shù)組柴梆。
a.函數(shù)

 <div ng-class="dayCSS(day);" ng-repeat="day in datePicker" ng-click="chooseDate(day, $index);">

b.表達(dá)式

  <div ng-class="refreshEnable ? 'caption-button refresh' : 'caption-button disable'" ng-click="refresh();">
 <div ng-class=" currentItem.isJob && !currentItem.empAssigned ? 'box-item select-field' : 'box-item'">

c.filter

     <td ng-class="timeUnit | unitClass" ng-repeat="timeUnit in employee.timeUnits" ng-style="timeUnit | unitWidth" ng-click="timeUnitClickHandler(employee, timeUnit, $index);" ng-mouseenter="timeUnit.showTip = true;" ng-mouseleave="timeUnit.showTip = false;">

d.字符串拼接

 <td ng-class="'unit' + (timeUnit.hasReserve ? ' before' : '')" ng-repeat="timeUnit in employee.timeUnits" ng-click="timeUnitClickHandler(employee, timeUnit, $index);">

e.可以返回?cái)?shù)組(以字符串的形式拼接)

 <div ng-class="interval == 60 ? 'interval chose' : 'interval'" ng-click="switchInterval(60);">60分鐘</div>

f.可以是一個(gè)對(duì)象

   <li ng-repeat="time in times" ng-bind="time" class="daysList-div" ng-class="{'1':'select-div','0':'normal-div','2':'unable-div'}[queryIncludeEmp(time)]" ng-click="selectDays(time,$index)"></li>

11. ng-show

ng-show 指令在表達(dá)式為 true 時(shí)顯示指定的 HTML 元素陨溅,否則隱藏指定的 HTML 元素
注意是隱藏,不是移除

 <img ng-show="timeUnit.chose" class="img-check" src="http://static.bokao2o.com/images/managerAdmin/managerAdmin_joinBg.png"/>
 <div ng-show="timeUnit.hasReserve && timeUnit.reserve.status != 2 && timeUnit.showTip" class="reserve-tooltip" ng-style="timeUnit | tooltipStyle:times.length:$parent.$index:employeeReserves.length">

12. ng-if

如果 if 語(yǔ)句執(zhí)行的結(jié)果為 true绍在,會(huì)添加移除元素门扇,并顯示。
注意是移除

  <div ng-if="currentItem.isEmployee || (currentItem.isJob && currentItem.empAssigned)" class="value" ng-bind="currentItem.empName"></div>
<div ng-if="currentItem" class="value" ng-bind="currentItem.jobTitle"></div>

ng-if 與 ng-show 的區(qū)別
http://m.blog.csdn.net/article/details?id=44701769

13.ng-click

添加點(diǎn)擊事件(可以給任何一個(gè)div)

<div class="button confirm" ng-click="seeReserveConfirm();" ng-bind="(currentItem.isJob && !currentItem.empAssigned) ? '員工分配' : '客戶到店'"></div>
<button ng-click="count = count + 1" ng-init="count=0">OK</button>

好的用法

 <div class="arrow up" ng-click="changeSort(-1);"></div>
                    <div class="arrow down" ng-click="changeSort(1);"></div>

14.ng-blur

當(dāng)輸入框失去焦點(diǎn)(onblur)時(shí)執(zhí)行表達(dá)式:

<input ng-blur="count = count + 1" ng-init="count=0" />
<h1>{{count}}</h1>
<div class="value"><input type="tel" placeholder="例如:13838388888" ng-model="userMobile" ng-blur="loadUserInfo();"/></div>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末偿渡,一起剝皮案震驚了整個(gè)濱河市臼寄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌溜宽,老刑警劉巖吉拳,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異适揉,居然都是意外死亡留攒,警方通過查閱死者的電腦和手機(jī)煤惩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來稼跳,“玉大人盟庞,你說我怎么就攤上這事√郎疲” “怎么了什猖?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)红淡。 經(jīng)常有香客問我不狮,道長(zhǎng),這世上最難降的妖魔是什么在旱? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任摇零,我火速辦了婚禮,結(jié)果婚禮上桶蝎,老公的妹妹穿的比我還像新娘驻仅。我一直安慰自己,他們只是感情好登渣,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布噪服。 她就那樣靜靜地躺著,像睡著了一般胜茧。 火紅的嫁衣襯著肌膚如雪粘优。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天呻顽,我揣著相機(jī)與錄音雹顺,去河邊找鬼。 笑死廊遍,一個(gè)胖子當(dāng)著我的面吹牛嬉愧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播喉前,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼英染,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了被饿?” 一聲冷哼從身側(cè)響起四康,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎狭握,沒想到半個(gè)月后闪金,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年哎垦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了囱嫩。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡漏设,死狀恐怖墨闲,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情郑口,我是刑警寧澤鸳碧,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站犬性,受9級(jí)特大地震影響瞻离,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜乒裆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一套利、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鹤耍,春花似錦肉迫、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至抛猖,卻和暖如春格侯,著一層夾襖步出監(jiān)牢的瞬間鼻听,已是汗流浹背财著。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留撑碴,地道東北人撑教。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像醉拓,于是被迫代替她去往敵國(guó)和親伟姐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

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