個人AngularJS 學習之旅php
基礎篇html
很早以前就聽朋友提及AngularJs,但因爲各類緣由,一直沒去研究。最近正好有同事也對這個框架比較感興趣,你們一塊兒討論,因而終於「名正言順」地開始研究了。angularjs
本文的目的是記錄一下本身這兩週的學習點滴,算是學習筆記吧,若是對初學的朋友有一點幫助,那也算是一件好事。嘿嘿web
一、Angular的 起源ajax
關於Angular 的起源,能夠追溯到2009 年的Google Feedback 項目。當時,團隊中的一個成員Misko Hevery 作出了一個大膽的宣言:利用他本身業餘時間所開發的一個開源庫,他能夠在兩週以內把目前全部東西重寫一遍。三個星期以後,他所開發的新應用的代碼量從原來的17000 行壓縮到了1500 行。是的,Misko Hevery 就是Angular之父.他和他的同事決定,圍繞他所提倡的理念組建一個團隊,這個簡單的理念就是:簡化對web 開發者的經驗要求。最後,愈來愈多的開發者在他們的平常生活中以來Angular,而且發展成了一個優質的支持者網絡。express
二、比較幾種不一樣的Web 實現 api
<tr> <td> <input id="Access" type="button" value="Access" /> </td> <td> <div id="browser"> </div> </td> </tr>
$.ajax({type: 'GET',url: '/Home/Get_Page',success: function (data) {$("#browser").text(data);}});
<html><head><title>First program</title></head><body><?php echo "hello, worldn";?></body>
</html>
代碼片斷:網絡
<div class="row-fluid"> <input type="text" ng-model="query" class="form-control" placeholder="請輸入標題" /> <input type="button" ng-click="search()" value="Search" class="btn btn-primary" /> </div>
MVC背後的核心理念是:你應該把管理數據的代碼(model)、應用邏輯代碼(controller)、 以及向用戶展現數據的代碼(view)清晰的分離開。app
視圖會從模型中獲取數據,而後展現給用戶。當用戶經過鼠標點擊或者鍵盤輸入與應用進行交互的時候,控制器會作出相應並修改模型中的數據。框架
最後,模型會通知視圖數據已經發生了變動,這樣視圖就能夠刷新其中顯示的內容。
在Angular應用中,視圖就是Document Object ModelO(DOM,文檔對象模型),控制器就是JavaScript類,而模型數據則被存儲在對象的屬性中。
3.2 $scope
控制器 --> 做用域 --> 視圖(DOM)
指令 --> 做用域 --> 視圖(DOM)
先來看一個例子吧
工欲善其事,必先利器,咱們須要從官網下載Angular包,這裏使用的是AngularJS v1.1.4
如上圖,普通的使用只,需引入這個庫就能夠了.
View
@{ Layout = null; } <!DOCTYPE html> <html ng-app> <head> <meta name="viewport" content="width=device-width" /> <title>Index</title> <script src="~/Scripts/angular/angular.min.js"></script> <script src="~/Scripts/app/hello2/hello.js"></script> </head> <body> <div ng-controller="Ctrl"> Your name: <input type="text" ng-model="customer.name"> <button ng-click='sayHello()'>greet</button> <p>{{ greeting | titleCase}}</p> <div my-customer></div> </div> </body> </html>
當前Angular應用的Controller,
function MyController($scope) { $scope.username = 'World!'; $scope.sayHello = function () { $scope.greeting = 'Hello,' + $scope.username; }; }
這裏須要解釋一下,ng-app指令告訴Angular應用管理頁面中的那一塊.若是你正在構建一款純Angualr應用,
那麼你該把 ng-app指令寫在<html>標籤中,以下:
<html ng-app> ......... </html>
ng-model 是綁定了controller 的customer 的name 屬性,這個指令是雙向綁定,若是你使用過Silverlight或者WPF應該很容易理解.
{{ greeting | titleCase}} 這是也是綁定數據,是單向的,即只負責顯示。
跑起來看看效果吧!
好,第一個AngularJs程序跑起來了!!!
不急,你在改改textbox中內容試試,
是的,你修改了name值,而後userMame副本的值也變化了,而你沒有寫多餘的代碼,這就是雙向綁定機制!
時間關係,暫時到這了...後面繼續和你們交流!
參考資料:
http://angularjs.cn/
《用AngularJS 開發下一代Web應用》
轉載請註明出處:http://www.cnblogs.com/lucky_hu