我的AngularJS 學習之旅
基礎篇
很早之前就聽朋友說起AngularJs,但由於各種原因,一直沒去研究。最近正好有同事也對這個框架比較感興趣,大家一起討論,於是終於“名正言順”地開始研究了。
本文的目的是記錄一下自己這兩周的學習點滴,算是學習筆記吧,如果對初學的朋友有一點幫助,那也算是一件好事。嘿嘿
1、Angular的 起源
關於Angular 的起源,可以追溯到2009 年的Google Feedback 項目。當時,團隊中的一個成員Misko Hevery 做出了一個大膽的宣言:利用他自己業余時間所開發的一個開源庫,他可以在兩周之內把目前所有東西重寫一遍。三個星期之后,他所開發的新應用的代碼量從原來的17000 行壓縮到了1500 行。是的,Misko Hevery 就是Angular之父.他和他的同事決定,圍繞他所提倡的理念組建一個團隊,這個簡單的理念就是:簡化對web 開發者的經驗要求。最后,越來越多的開發者在他們的日常生活中以來Angular,並且發展成了一個優質的支持者網絡。
2、比較幾種不同的Web 實現
<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)清晰的分離開。
視圖會從模型中獲取數據,然后展示給用戶。當用戶通過鼠標點擊或者鍵盤輸入與應用進行交互的時候,控制器會做出相應並修改模型中的數據。
最后,模型會通知視圖數據已經發生了變更,這樣視圖就可以刷新其中顯示的內容。
在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