AngularJS簡介-基礎(chǔ)

AngularJS 是一個(gè) JavaScript 框架高氮。它可通過 <script> 標(biāo)簽添加到 HTML 頁面。
AngularJS 通過 [指令] 擴(kuò)展了 HTML戳护,且通過 [表達(dá)式] 綁定數(shù)據(jù)到 HTML嚎货。

在1.3.0之后放棄了IE8
引入了單向數(shù)據(jù)綁定
刪掉了一堆過時(shí)的API

<b>四大核心特性:</b>

MVC
模塊化
指令系統(tǒng)
雙向數(shù)據(jù)綁定

<b>MVC思想:</b>
Model<->View<->Controller

Model:數(shù)據(jù)模型層
View:視圖層,負(fù)責(zé)展示
Controller:業(yè)務(wù)邏輯和控制邏輯
好處:職責(zé)清晰虑凛,代碼模塊化
問題:為什么23種設(shè)計(jì)模式里面沒有MVC?


<h5>AngularJS 擴(kuò)展了 HTML</h5>
AngularJS 通過 ng-directives 擴(kuò)展了 HTML碑宴。
ng-app 指令定義一個(gè) AngularJS 應(yīng)用程序。
ng-model 指令把元素值(比如輸入域的值)綁定到應(yīng)用程序桑谍。
ng-bind 指令把應(yīng)用程序數(shù)據(jù)綁定到 HTML 視圖延柠。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">    
</head>
<body>
    <div ng-app="">    
        <p>名字 : <input type="text" ng-model="name"></p>    
        <h1>Hello {{name}}</h1>
    </div>
    <script src="angular.js"></script>
</body>
</html>

講解:
當(dāng)網(wǎng)頁加載完畢,AngularJS 自動(dòng)開啟锣披。
ng-app 指令告訴 AngularJS贞间,<div> 元素是 AngularJS 應(yīng)用程序 的"所有者"。
ng-model 指令把輸入域的值綁定到應(yīng)用程序變量 name雹仿。
ng-bind 指令把應(yīng)用程序變量 name 綁定到某個(gè)段落的 innerHTML增热。

如果您移除了 ng-app 指令,HTML 將直接把表達(dá)式顯示出來胧辽,不會(huì)去計(jì)算表達(dá)式的結(jié)果峻仇。


<b>什么是 AngularJS?</b>

  • AngularJS 使得開發(fā)現(xiàn)代的單一頁面應(yīng)用程序(SPAs:Single Page Applications)變得更加容易邑商。
  • AngularJS 把應(yīng)用程序數(shù)據(jù)綁定到 HTML 元素摄咆。
  • AngularJS 可以克隆和重復(fù) HTML 元素凡蚜。
  • AngularJS 可以隱藏和顯示 HTML 元素。
  • AngularJS 可以在 HTML 元素"背后"添加代碼吭从。
  • AngularJS 支持輸入驗(yàn)證朝蜘。

<b>AngularJS 指令</b>
正如您所看到的,AngularJS 指令是以 ng 作為前綴的 HTML 屬性涩金。
ng-init 指令初始化 AngularJS 應(yīng)用程序變量谱醇。

    <div ng-app="" ng-init="firstName='John'">
        <p>姓名為 <span ng-bind="firstName"></span></p>
    </div>

HTML5 允許擴(kuò)展的(自制的)屬性,以 data- 開頭步做。AngularJS 屬性以 ng- 開頭枣抱,但是您可以使用 data-ng- 來讓網(wǎng)頁對 HTML5 有效。

    <div data-ng-app="" data-ng-init="firstName='John'">
        <p>姓名為 <span data-ng-bind="firstName"></span></p>
    </div>

<b>AngularJS 表達(dá)式</b>
AngularJS 表達(dá)式寫在雙大括號內(nèi):{{ expression }}辆床。
AngularJS 表達(dá)式把數(shù)據(jù)綁定到 HTML佳晶,這與 ng-bind 指令有異曲同工之妙。
AngularJS 將在表達(dá)式書寫的位置"輸出"數(shù)據(jù)讼载。
AngularJS 表達(dá)式 很像 JavaScript 表達(dá)式:它們可以包含文字轿秧、運(yùn)算符和變量。
實(shí)例 {{ 5 + 5 }} 或 {{ firstName + " " + lastName }}

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
</head>
<body>
    <div ng-app="">     
        <p>我的第一個(gè)表達(dá)式: {{ 5 + 5 }}</p>
    </div>
</body>
</html>
//運(yùn)行結(jié)果為:我的第一個(gè)表達(dá)式:10

<b>AngularJS 應(yīng)用</b>

  • AngularJS 模塊(Module) 定義了 AngularJS 應(yīng)用咨堤。
  • AngularJS 控制器(Controller) 用于控制 AngularJS 應(yīng)用菇篡。
  • ng-app指令定義了應(yīng)用, ng-controller 定義了控制器。
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
</head>
<body>
    <p>嘗試修改以下表單一喘。</p>
    <div ng-app="myApp" ng-controller="myCtrl">
        名: <input type="text" ng-model="firstName"><br>
        姓: <input type="text" ng-model="lastName"><br>
        <br>
        姓名: {{firstName + " " + lastName}}
    </div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.firstName= "L";
    $scope.lastName= "Madman";
});
</script>

<b>AngularJS 模塊</b>

var app = angular.module('myApp', []);```

><b>AngularJS 控制器</b>

app.controller('myCtrl', function($scope) {
$scope.firstName= "L";
$scope.lastName= "Madman";
});```

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末驱还,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子凸克,更是在濱河造成了極大的恐慌议蟆,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件萎战,死亡現(xiàn)場離奇詭異咐容,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)蚂维,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進(jìn)店門戳粒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人虫啥,你說我怎么就攤上這事蔚约。” “怎么了涂籽?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵苹祟,是天一觀的道長。 經(jīng)常有香客問我,道長苔咪,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任柳骄,我火速辦了婚禮团赏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘耐薯。我一直安慰自己舔清,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布曲初。 她就那樣靜靜地躺著体谒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天畦娄,我揣著相機(jī)與錄音旭蠕,去河邊找鬼。 笑死叔磷,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播彩届,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼誓酒!你這毒婦竟也來了樟蠕?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤靠柑,失蹤者是張志新(化名)和其女友劉穎寨辩,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體歼冰,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡捣染,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了停巷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耍攘。...
    茶點(diǎn)故事閱讀 38,059評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖畔勤,靈堂內(nèi)的尸體忽然破棺而出蕾各,到底是詐尸還是另有隱情,我是刑警寧澤庆揪,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布式曲,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏吝羞。R本人自食惡果不足惜兰伤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望钧排。 院中可真熱鬧敦腔,春花似錦、人聲如沸恨溜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽糟袁。三九已至判族,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間项戴,已是汗流浹背形帮。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留周叮,地道東北人沃缘。 一個(gè)月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像则吟,于是被迫代替她去往敵國和親槐臀。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評論 2 345

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

  • AngularJS 簡介 AngularJS 是一個(gè) JavaScript 框架氓仲。它可通過 標(biāo)簽添加到 HTM...
    hx永恒之戀閱讀 1,445評論 0 25
  • AngularJS是什么水慨?AngularJs(后面就簡稱ng了)是一個(gè)用于設(shè)計(jì)動(dòng)態(tài)web應(yīng)用的結(jié)構(gòu)框架。首先敬扛,它是...
    200813閱讀 1,588評論 0 3
  • Angular JS 基礎(chǔ) 本文中的AngularJS是AngularJS 1.x AngularJS是一個(gè)Jav...
    靜候那一米陽光閱讀 840評論 0 13
  • 簡介: AngularJS 是一個(gè) JavaScript 框架晰洒。它可通過 標(biāo)簽添加到 HTML 頁面。 Ang...
    JenniferYe閱讀 1,420評論 0 13
  • 初夏的陽光斜斜地照進(jìn)教室啥箭,最后一節(jié)是自習(xí)課谍珊,凌飛做完了今天的作業(yè),懶洋洋地趴在課桌上急侥,身上暖洋洋地舒服砌滞,腦子...
    貧僧法號鏟屎閱讀 698評論 0 2