AngularJS初探(一)
AngularJS作為一個小而精的框架,在UI設(shè)計和頁面邏輯交互上有他天然的優(yōu)勢,為Web程序員提供了一種快捷開發(fā)的選項,更何況還有g(shù)oogle這個干爹呢!
作為一名AngularJS的初學(xué)者,我于此記錄下我的學(xué)習(xí)過程。
要點(diǎn)
- 依賴注入
依賴注入從某種程度上說是為了給控制器分級,是控制邏輯的注冊和分級,這樣,不同的module掌控了不同的service和factory,他們之間可以通過繼承和覆蓋來完成一個層次上的分級功能。 - directive
directive是集成自己的頁面元素和內(nèi)里的控裝邏輯,代碼復(fù)用的一種方便的方式,封裝和集成的完美體現(xiàn)
var app=angular.module('myApp',[]);
app.directive('footMenu',function(){
return {
restrict:'E',
transclude:true,
scope:{},
controller:'footCtrl',
templateUrl:'/footMenu.html'
};
});
上面展示了一個directive的定義過程
- Service,factory,value
MVC模型在業(yè)界已經(jīng)是大名鼎鼎,也有人說AngularJS是MVMM模型,小生愚鈍,這兩個都不怎么熟。但是把界面和控制邏輯分離,確實(shí)是非常偉大的舉動。我現(xiàn)在在做一個APP,把View提前寫好,再把交互邏輯加入,最后把與服務(wù)端交互的邏輯加入,是個看起來不錯的開發(fā)邏輯。讓我們再回來看看controller吧。通過controller我們把一些控制邏輯與HTML的特定元素綁定,實(shí)現(xiàn)了不同控制邏輯的分離。
app.contrller('myCtrl',function($scope</span>,<span class="hljs-variable">$location){
$scope.redirect=function(destination){
$location.path(destination).replace();
};
});
<div ng-controller="myCtrl">
<button ng-click="redirect('/hh')">go</button>
</div>
上文定義了一個按鈕上的跳轉(zhuǎn)邏輯,這個controller起作用的就是div包裹的區(qū)域