首頁 web前端 js教程 AngularJS 最常用的功能匯總_AngularJS

AngularJS 最常用的功能匯總_AngularJS

May 16, 2016 pm 03:15 PM

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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

在JavaScript中替換字符串字符 在JavaScript中替換字符串字符 Mar 11, 2025 am 12:07 AM

JavaScript字符串替換方法詳解及常見問題解答 本文將探討兩種在JavaScript中替換字符串字符的方法:在JavaScript代碼內部替換和在網頁HTML內部替換。 在JavaScript代碼內部替換字符串 最直接的方法是使用replace()方法: str = str.replace("find","replace"); 該方法僅替換第一個匹配項。要替換所有匹配項,需使用正則表達式並添加全局標誌g: str = str.replace(/fi

如何創建和發布自己的JavaScript庫? 如何創建和發布自己的JavaScript庫? Mar 18, 2025 pm 03:12 PM

文章討論了創建,發布和維護JavaScript庫,專注於計劃,開發,測試,文檔和促銷策略。

如何在瀏覽器中優化JavaScript代碼以進行性能? 如何在瀏覽器中優化JavaScript代碼以進行性能? Mar 18, 2025 pm 03:14 PM

本文討論了在瀏覽器中優化JavaScript性能的策略,重點是減少執行時間並最大程度地減少對頁面負載速度的影響。

如何使用瀏覽器開發人員工具有效調試JavaScript代碼? 如何使用瀏覽器開發人員工具有效調試JavaScript代碼? Mar 18, 2025 pm 03:16 PM

本文討論了使用瀏覽器開發人員工具的有效JavaScript調試,專注於設置斷點,使用控制台和分析性能。

前端熱敏紙小票打印遇到亂碼問題怎麼辦? 前端熱敏紙小票打印遇到亂碼問題怎麼辦? Apr 04, 2025 pm 02:42 PM

前端熱敏紙小票打印的常見問題與解決方案在前端開發中,小票打印是一個常見的需求。然而,很多開發者在實...

立即提高jQuery性能的10種方法 立即提高jQuery性能的10種方法 Mar 11, 2025 am 12:15 AM

本文概述了十個簡單的步驟,可以顯著提高腳本的性能。 這些技術很簡單,適用於所有技能水平。 保持更新:使用bundler(例如vite)的npm等軟件包經理來確保

使用Passport與semelize和MySQL 使用Passport與semelize和MySQL Mar 11, 2025 am 11:04 AM

續集是一個基於承諾的node.js orm。它可以與PostgreSQL,MySQL,MariadB,Sqlite和MSSQL一起使用。在本教程中,我們將為Web應用程序的用戶實施身份驗證。我們將使用Passport,Passport,Midderw的流行身份驗證

如何構建簡單的jQuery滑塊 如何構建簡單的jQuery滑塊 Mar 11, 2025 am 12:19 AM

本文將引導您使用jQuery庫創建一個簡單的圖片輪播。我們將使用bxSlider庫,它基於jQuery構建,並提供許多配置選項來設置輪播。 如今,圖片輪播已成為網站必備功能——一圖胜千言! 決定使用圖片輪播後,下一個問題是如何創建它。首先,您需要收集高質量、高分辨率的圖片。 接下來,您需要使用HTML和一些JavaScript代碼來創建圖片輪播。網絡上有很多庫可以幫助您以不同的方式創建輪播。我們將使用開源的bxSlider庫。 bxSlider庫支持響應式設計,因此使用此庫構建的輪播可以適應任何

See all articles