angularjs簡(jiǎn)介

angular簡(jiǎn)介

  • jQuery :庫
  • 封裝了一些常用的方法忽舟,我們主動(dòng)的調(diào)用這些方法
    -- 提高了代碼的利用蛹屿,以及代碼后期的維護(hù)
  • Angular: 前端框架
  • 框架提供了一些結(jié)構(gòu)或者模式酸些,
  • 我們是根據(jù)框架提供的結(jié)構(gòu)或者模式去書寫代碼
  • 由框架幫助我們?nèi)?zhí)行相應(yīng)的操作歇拆。

什么是angular

  • 1、一款非常優(yōu)秀的前端高級(jí) JS 框架脓魏。
  • 2创夜、有了這一類框架就可以輕松構(gòu)建 SPA(single page application) 應(yīng)用程序杭跪。
  • 3、其核心就是通過指令擴(kuò)展了 HTML驰吓,通過表達(dá)式綁定數(shù)據(jù)到 HTML涧尿。
  • 4、Angular不推崇DOM操作檬贰,也就是說在NG中幾乎找不到任何的DOM操作姑廉。

Angular 的核心特性

  • 指令

  • MVC

  • 模塊化 angular.module()

  • 雙向數(shù)據(jù)綁定

指令

  • angular中以ng-開頭的屬性叫作指令
  • ng-app 告訴angular來管理html代碼,管理ng-app所在元素及其子元素翁涤。
  • ng-click 用來注冊(cè)點(diǎn)擊事件,

    var add = document.getElementById('add');
    add.onclick=function(){
    val = (val-0)+1; // num.value = (num.value - 0) +1
    }
    $scope.add = {
    $scope.num = ($scope.num - 0 )+ 1;
    }

  • ng-model:var num = document.getElementById('num').value
  • ng-init :進(jìn)行初始化操作: ng-init="user.name='小明'"

模塊(module)

  • angular.module('myApp',[])

第一個(gè)參數(shù)是模塊的名字
第二個(gè)參數(shù)是一個(gè)數(shù)組桥言,數(shù)組的元素是該模塊所依賴其他模塊的名字
注意,即使不依賴任何模塊,也需要給第二個(gè)參數(shù)傳遞一個(gè)空數(shù)組
否則angular.module('myApp')就是去獲取名為myApp的模塊對(duì)象

控制器(controller)

  • angular.module('myApp',[]).controller('demoController',function($scope){})

第一個(gè)參數(shù)葵礼,是控制器的名字
第二個(gè)參數(shù)号阿,是一個(gè)回調(diào)函數(shù),在回調(diào)函數(shù)里寫我們想要的js代碼鸳粉。

雙向數(shù)據(jù)綁定

  • 數(shù)據(jù)模型的值發(fā)生改變扔涧,就會(huì)導(dǎo)致頁面值的改變.
    頁面值的改變,就會(huì)導(dǎo)致數(shù)據(jù)模型值的改變,這各種相互影響的關(guān)系就是雙向數(shù)據(jù)綁定枯夜。
  • ng-model 的使用

MVC 思想

  • M:Model 模型 :數(shù)據(jù)存儲(chǔ)弯汰,一些業(yè)務(wù)邏輯
  • V:View 視圖 :就是用來展示數(shù)據(jù)
  • C:Controller 控制器: 調(diào)度業(yè)務(wù)邏輯

常用指令

  • ng-bind

    • 用來解決表達(dá)式閃爍問題
    • <p ng-bind="數(shù)據(jù)模型"></p>
      注意:只能夠在雙標(biāo)簽中使用ng-bind指令
  • ng-cloak

    • 用來解決表達(dá)式閃爍問題
    • <p class="ng-cloak">{{name}}</p>
    • 利用angular在加載會(huì)移除頁面上所以名為ng-cloak的樣式名的特性。
  • ngSanitize模塊
    npm install angular-sanitize

    • 使用的是ng-bind-html指令來渲染數(shù)據(jù)模型湖雹。
  • ng-repeat

    • 可以用來循環(huán)輸出數(shù)組

    • 寫在哪個(gè)元素上就是循環(huán)哪個(gè)元素咏闪。

    • 語法:類似于forin 循環(huán)

      <div ng-repeat="item in data ">{{item}}</div>
      + track by $index 解決數(shù)組中數(shù)據(jù)有重得的問題
      + <li ng-repeat="item in tesData track by $index"></li>

    • 還可以用來渲染key,value對(duì)

    • ng-repeat 在遍歷里會(huì)暴露一些數(shù)據(jù)模型,

      • $even:提供了一個(gè)布爾值,當(dāng)為true時(shí)表示當(dāng)前數(shù)據(jù)是第偶數(shù)條數(shù)據(jù),從索引0開始計(jì)算
      • $odd:提供了一個(gè)布爾值摔吏,當(dāng)為true時(shí)表示當(dāng)前數(shù)據(jù)是第奇數(shù)條數(shù)據(jù),從索引0開始計(jì)算
      • $first,$last ,$middle
        ng-class:
    • 從多種樣式中選擇一個(gè)樣式

      • 語法:類似于從一個(gè)key,value對(duì)象中獲取其中一個(gè)屬性的值
      • ng-class="{'A':'red','B':'blue','C':'green'}"
    • 從多種樣式中選擇多個(gè)

      • 語法:也是寫一個(gè)key,value對(duì)象鸽嫂,這里的key是我們提供的類樣式名,value是一個(gè)布爾值舔腾,為true時(shí)對(duì)應(yīng)的key會(huì)被作為樣式名加入到class中

ng-hide/ng-show

  • ng-hide:需要一個(gè)布爾值:當(dāng)為true時(shí)為隱藏當(dāng)前元素
  • ng-show: 需要一個(gè)布爾值:當(dāng)為true時(shí)為顯示當(dāng)前元素

ng-if:需要一個(gè)布爾值:當(dāng)為true時(shí)為顯示當(dāng)前元素
為false時(shí)是刪除當(dāng)前元素

ng-switch:與ng-switch-when同用溪胶,類似與js中的switch case

    <div ng-switch="name">
            <div ng-switch-when="小明">我是小明</div>
            <div ng-switch-when="小紅">我是小紅</div>
            <div ng-switch-when="小月">我是小月</div>
    </div>

其他常用指令

  • ng-checked:
    • 單選/復(fù)選是否選中,是單向數(shù)據(jù)綁定
  • ng-selected:
    • 是否選中
  • ng-disabled:
    • 是否禁用
  • ng-readonly:
    • 是否只讀

常用事件指令

不同于以上的功能性指令搂擦,Angular還定義了一些用于和事件綁定的指令:

  • ng-blur:失去焦點(diǎn)
  • ng-focus:獲得焦點(diǎn)
  • ng-change:改變事件
  • ng-copy:復(fù)制事件
  • ng-click: ng-click="add()"
  • ng-dblclick:雙擊事件
  • ng-submit: 表單提交事件
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末稳诚,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子瀑踢,更是在濱河造成了極大的恐慌扳还,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件橱夭,死亡現(xiàn)場(chǎng)離奇詭異氨距,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)棘劣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門俏让,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人茬暇,你說我怎么就攤上這事首昔。” “怎么了糙俗?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵勒奇,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我巧骚,道長(zhǎng)赊颠,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任劈彪,我火速辦了婚禮竣蹦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘沧奴。我一直安慰自己草添,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布扼仲。 她就那樣靜靜地躺著远寸,像睡著了一般抄淑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上驰后,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天肆资,我揣著相機(jī)與錄音,去河邊找鬼灶芝。 笑死郑原,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的夜涕。 我是一名探鬼主播犯犁,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼女器!你這毒婦竟也來了酸役?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤驾胆,失蹤者是張志新(化名)和其女友劉穎涣澡,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體丧诺,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡入桂,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了驳阎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抗愁。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖呵晚,靈堂內(nèi)的尸體忽然破棺而出蜘腌,到底是詐尸還是另有隱情,我是刑警寧澤劣纲,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布逢捺,位于F島的核電站,受9級(jí)特大地震影響癞季,放射性物質(zhì)發(fā)生泄漏劫瞳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一绷柒、第九天 我趴在偏房一處隱蔽的房頂上張望志于。 院中可真熱鬧,春花似錦废睦、人聲如沸伺绽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奈应。三九已至澜掩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間杖挣,已是汗流浹背肩榕。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留惩妇,地道東北人株汉。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像歌殃,于是被迫代替她去往敵國(guó)和親乔妈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

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