angularjs 學(xué)習(xí)之 angularjs簡(jiǎn)介

簡(jiǎn)介

在學(xué)習(xí) ionic 的路上遇到 angularjs 的一些指令什么的用法喷市,不熟悉所以還要回來(lái)查很麻煩工育,所以先來(lái)系統(tǒng)的學(xué)一遍 angularjs 好了灾而。

什么是angularjs

AngularJS 是一個(gè) JavaScript 框架冯痢。它是一個(gè)以 JavaScript 編寫(xiě)的庫(kù)。Angular通過(guò)指令擴(kuò)展HTML的語(yǔ)法蓄愁。

整體介紹

概念 說(shuō)明
模板(Template) 帶有Angular擴(kuò)展標(biāo)記的HTML
指令(Directive) 用于通過(guò)自定義屬性和元素?cái)U(kuò)展HTML的行為
模型(Model) 用于顯示給用戶并且與用戶互動(dòng)的數(shù)據(jù)
作用域(Scope) 用來(lái)存儲(chǔ)模型(Model)語(yǔ)境(context)。模型放在這個(gè)語(yǔ)境中才能被控制器狞悲、指令和表達(dá)式等訪問(wèn)到
表達(dá)式(Expression) 模板中可以通過(guò)它來(lái)訪問(wèn)作用域(Scope)中的變量和函數(shù)
編譯器(Compiler) 用來(lái)編譯模板(Template)撮抓,并且對(duì)其中包含的指令(Directive)表達(dá)式(Expression)進(jìn)行實(shí)例化
過(guò)濾器(Filter) 負(fù)責(zé)格式化表達(dá)式(Expression)的值,以便呈現(xiàn)給用戶
視圖(View) 用戶看到的內(nèi)容(即DOM)
數(shù)據(jù)綁定(Data Binding) 自動(dòng)同步模型(Model)中的數(shù)據(jù)視圖(View)表現(xiàn)
控制器(Controller) 視圖(View)背后的業(yè)務(wù)邏輯
依賴(lài)注入(Dependency Injection) 負(fù)責(zé)創(chuàng)建和自動(dòng)裝載對(duì)象或函數(shù)
注入器(Injector) 用來(lái)實(shí)現(xiàn)依賴(lài)注入(Injection)的容器
模塊(Module) 用來(lái)配置注入器
服務(wù)(Service) 獨(dú)立于視圖(View)的摇锋、可復(fù)用的業(yè)務(wù)邏輯

Angular <script> 標(biāo)簽

在HTML頁(yè)面底部放置 script 標(biāo)簽丹拯。這樣可以優(yōu)化應(yīng)用的加載時(shí)間,因?yàn)楸苊饬薍TML加載時(shí)被 angular.js 腳步的加載阻滯荸恕。

  • 選擇angular-[version].js這樣一個(gè)可讀的版本乖酬,用來(lái)作為開(kāi)發(fā)和調(diào)試用
  • 選擇angular-[version].min.js這樣一個(gè)壓縮版本,用來(lái)作為產(chǎn)品發(fā)布時(shí)用

一般會(huì)像這樣<html ng-app="test">把 ng-app 放在應(yīng)用的根節(jié)點(diǎn)中融求,是因?yàn)檫@樣應(yīng)用就可以自動(dòng)啟動(dòng) angular 了咬像。

AngularJS 表達(dá)式(Expressions)

AngularJS 表達(dá)式寫(xiě)在雙大括號(hào)內(nèi):{{ expression }}。
可能會(huì)有人認(rèn)為Angular視圖表達(dá)式就是JavaScript表達(dá)式生宛,但這不完全正確县昂,因?yàn)锳ngular并沒(méi)有使用JavaScript中的'eval()'來(lái)解析表達(dá)式。你可以認(rèn)為Angular表達(dá)式與JavaScript表達(dá)式有如下的區(qū)別:

  • 屬性解析: 所有的屬性的解析都是相對(duì)于作用域(scope)的陷舅,而不像JavaScript中的表達(dá)式解析那樣是相對(duì)于全局'window'對(duì)象的倒彰。
  • 容錯(cuò)性: 表達(dá)式的解析對(duì)'undefined'和'null'具有容錯(cuò)性,這不像在JavaScript中莱睁,試圖解析未定義的屬性時(shí)會(huì)拋出ReferenceErrorTypeError錯(cuò)誤.
  • 禁止控制流語(yǔ)句: 表達(dá)式中不允許包括下列語(yǔ)句:條件判斷(if)狸驳,循環(huán)(for/while)预明,拋出異常(throw)。

另一方面耙箍,如果你想執(zhí)行特定的JavaScript代碼撰糠,你應(yīng)該在一個(gè)控制器里導(dǎo)出一個(gè)方法,然后在模板中調(diào)用這個(gè)方法辩昆。如果你想在JavaScript中解析一個(gè)Angular表達(dá)式阅酪,使用$eval()方法。Angular表達(dá)式必須使用$window來(lái)指向全局的'window'對(duì)象汁针。

舉幾個(gè)例子吧

<div ng-app>
<p>我的第一個(gè)表達(dá)式: {{ 5 + 5 }}</p>
</div>

輸出結(jié)果:我的第一個(gè)表達(dá)式: 10

<div ng-app="" ng-init="a=1;b=5">
<p>c={{ a * b }}</p>
</div>

輸出結(jié)果:c=5

<div ng-app="" ng-init="firstName='John';lastName='Doe'">
<p>姓名: {{ firstName + " " + lastName }}</p>
</div>

輸出結(jié)果:姓名: John Doe

<div ng-app="" ng-init="person={firstName:'John',lastName:'Doe'}">
<p>姓名 {{ person.lastName }}</p>
</div>

輸出結(jié)果:姓名 Doe

<div ng-app="" ng-init="points=[1,15,19,2,40]">
<p>第三個(gè)值為 {{ points[2] }}</p>
</div>

輸出結(jié)果:第三個(gè)值為 19

以上的代碼术辐,稍作改動(dòng),都可以變?yōu)?code>ng-bind的寫(xiě)法施无,舉其中一個(gè)例子

<div ng-app=""  ng-init="a=1;b=5">
<p>c= <span ng-bind="a * b"></span></p>
</div>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末辉词,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子猾骡,更是在濱河造成了極大的恐慌瑞躺,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件兴想,死亡現(xiàn)場(chǎng)離奇詭異幢哨,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)嫂便,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)捞镰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人毙替,你說(shuō)我怎么就攤上這事岸售。” “怎么了厂画?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵凸丸,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我木羹,道長(zhǎng)甲雅,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任坑填,我火速辦了婚禮抛人,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘脐瑰。我一直安慰自己妖枚,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布苍在。 她就那樣靜靜地躺著绝页,像睡著了一般荠商。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上续誉,一...
    開(kāi)封第一講書(shū)人閱讀 51,590評(píng)論 1 305
  • 那天莱没,我揣著相機(jī)與錄音,去河邊找鬼酷鸦。 笑死饰躲,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的臼隔。 我是一名探鬼主播嘹裂,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼摔握!你這毒婦竟也來(lái)了寄狼?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤氨淌,失蹤者是張志新(化名)和其女友劉穎泊愧,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體宁舰,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拼卵,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年奢浑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蛮艰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡雀彼,死狀恐怖壤蚜,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情徊哑,我是刑警寧澤袜刷,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站莺丑,受9級(jí)特大地震影響著蟹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜梢莽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一萧豆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧昏名,春花似錦涮雷、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)样刷。三九已至,卻和暖如春览爵,著一層夾襖步出監(jiān)牢的瞬間置鼻,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工蜓竹, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留沃疮,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓梅肤,卻偏偏與公主長(zhǎng)得像司蔬,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子姨蝴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

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

  • ng-model 指令ng-model 指令 綁定 HTML 元素 到應(yīng)用程序數(shù)據(jù)俊啼。ng-model 指令也可以:...
    壬萬(wàn)er閱讀 870評(píng)論 0 2
  • 第2章 基本語(yǔ)法 2.1 概述 基本句法和變量 語(yǔ)句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,149評(píng)論 0 13
  • 在線閱讀 http://interview.poetries.top[http://interview.poetr...
    程序員poetry閱讀 114,388評(píng)論 24 450
  • 【轉(zhuǎn)載】CSDN - 張林blog http://blog.csdn.net/XIAOZHUXMEN/articl...
    竿牘閱讀 3,488評(píng)論 1 14
  • 近來(lái)讀到王陽(yáng)明《知行錄之一 傳習(xí)錄》中關(guān)于巖中花樹(shù)的著名對(duì)話: 先生游南鎮(zhèn)左医,一友指巖中花樹(shù)問(wèn)曰:天下無(wú)心外之物授帕,如...
    codeman_liu閱讀 1,571評(píng)論 0 0