首頁  >  文章  >  web前端  >  AngularJS 最常用的功能匯總_AngularJS

AngularJS 最常用的功能匯總_AngularJS

WBOY
WBOY原創
2016-05-16 15:15:191074瀏覽

AngularJS透過為開發者呈現一個更高層次的抽象來簡化應用的開發。如同其他的抽象技術一樣,這也會損失一部分彈性。換句話說,並不是所有的應用都適合用AngularJS來做。 AngularJS主要考慮的是建構CRUD應用。幸運的是,至少90%的WEB應用都是CRUD應用。但是要了解什麼適合用AngularJS構建,就得了解什麼不適合用AngularJS構建。

如游戲,圖形介面編輯器,這種DOM操作很頻繁也很複雜的應用,和CRUD應用就有很大的不同,它們不適合用AngularJS來構建。像這種情況用一些更輕、簡單的技術如jQuery可能會更好。

第一 迭代輸出之ng-repeat標籤

ng-repeat讓table ul ol等標籤和js裡的陣列完美結合

<ul>
<li ng-repeat="person in persons">
{{person.name}} is {{person.age}} years old.
</li>
</ul>

你甚至可以指定輸出的順序:

<li ng-repeat="person in persons | orderBy:'name'">

第二 動態綁定之ng-model標籤

任何有使用者輸入,只要是有值的html標籤,都可以動態綁定js中的變量,而且是動態綁定。

<input type="text" ng-model='password'>

對於綁定的變量,你可以使用{{}} 直接引用

<span>you input password is {{password}}</span>

如果你熟悉fiter,你可以很容易的按你的需要格式輸出

<span>{{1288323623006 | date:'yyyy-MM-dd HH:mm:ss Z'}}</span>

第三 綁定點擊事件之ng-click事件

使用ng-click你可以很容易的為一個標籤綁定點擊事件。

<button ng-click="pressMe()"/>

當然前提是你要在$scope域中定義的自己的pressMe方法。

和傳統的onclick方法不同,你甚至可以為ng-click方法傳遞一個對象,就像這樣:

<ul>
<li ng-repeat="person in persons">
<button ng-click="printf(person)"/>
</li>
</ul>

當然還有ng-dblclick標籤

第四 分支語句之ng-switch on、ng-if/ng-show/ng-hide/ng-disabled標籤

分支語句讓你在介面上都可以寫邏輯判斷。

<ul>
<li ng-repeat="person in persons">
<span ng-switch on="person.sex">
<span ng-switch-when="1">you are a boy</span>
<span ng-switch-when="2">you are a girl</span>
</span>
<span ng-if="person.sex==1">you may be a father</span>
<span ng-show="person.sex==2">you may be a mother</span>
<span>
please input your baby's name:<input type="text" ng-disabled="!person.hasBaby"/>
</span>
<span>
</li>
</ul>

第五 校驗語法之ng-trim ng-minlength ng-maxlength required ng-pattern 等標籤

表單中的輸入框,你可以使用上面的標籤來實現使用者輸入的校驗。
從字面意思上你已經知道它們的意思了。

<form name="yourForm">
<input type="text" name="inputText" required ng-trim="true" ng-model="userNum" ng-pattern="/^[0-9]*[1-9][0-9]*$/" ng-maxlength="6" maxlength="6"/>
</form>

你可以透過 $scope.yourForm.inputText.$error.required 來判斷輸入框是否為空

你可以用 $scope.yourForm.inputText.$invalid 來判斷輸入的內容是否滿足ng-pattern,ng-maxlength,maxlength

你透過$scope.userNum得到的輸入內容是去掉前後空白的,因為ng-trim的存在。

第六 下拉框之ng-options標籤

ng-options是專門為下拉框打造的標籤。

<select ng-model="yourSelected" ng-options="person.id as person.name in persons"></select>

下拉方塊中顯示的是person.name,當你選取其中一個的時候,你可以透過yourSelected得到你選取的person.id.

第七 控制css之ng-style標籤

ng-style幫你輕鬆控制你的css屬性

<span ng-style="myColor">your color</span>

你可以透過給myColor賦值的形式來改變你想要的效果,就像這樣:

$scope.myColor={color:'blue'};
$scope.myColor={cursor: 'pointer',color:'blue'};

第八 非同步請求之$http物件。

AngularJS 提供了一個類似jquery的$.ajax的對象,用於非同步請求。
在AngularJS中對非同步操作是推崇至極的,所以$http的操作都是非同步的不像jquery.ajax裡還提供了async參數。

$http({method : 'POST',params : { id:123}, data:{name:'john',age:27}, url : "/mypath"})
.success(function(response, status, headers, config){
//do anything what you want;
})
.error(function(response, status, headers, config){
//do anything what you want;
});

如果你是POST請求,params裡的資料會幫你拼到url後面,data裡的資料會放到請求體中。

以上跟大家分享了八種AngularJS 最常用的功能,希望對大家有幫助!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn