今天就跟大家聊聊有關(guān)如何入門AngularJS,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
成都創(chuàng)新互聯(lián)服務(wù)項目包括龍巖網(wǎng)站建設(shè)、龍巖網(wǎng)站制作、龍巖網(wǎng)頁制作以及龍巖網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,龍巖網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到龍巖省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
介紹
首先需要指出什么是angular js,其實說白了angular js就是Javascript的一個類庫,我們使用這個類庫可以很容易的創(chuàng)建web頁面。雙向綁定是angular js其中的一個重要特征,這也是相對于其他的Javascript的類庫來說angular js中很重要的特征。雙向綁定即是當(dāng)你修改任何屬性的值的時候,相關(guān)聯(lián)的html元素也將改變,你并不需要額外的去修改。
Angular js還為我們提供了MVVM(Model View ViewModel)的模型。MVVM的意思就是說Model是一個真實的對象,我們使用這個對象創(chuàng)建需要在頁面顯示的模型,并且調(diào)用視圖模型。View(視圖)即是我們需要輸出的頁面。
背景
如果你沒有使用angular js或者其它的和angular js有相似功能的類庫,比如knockout.js,那么當(dāng)我們編寫代碼的時候?qū)懜喔鼜?fù)雜的代碼。所以說使用angular js編寫應(yīng)用程序更快更高效,并且比其它的類庫更容易管理。
代碼使用
下面我們將通過一個簡單的例子來逐漸的了解angular js。
為了更好的理解angular js的知識,我們使用asp.net作為后臺的應(yīng)用程序來實現(xiàn)簡單的增刪改查的操作,并且在這個例子中我們使用的是靜態(tài)列表形式來展現(xiàn)增刪改查的操作。
在數(shù)據(jù)模型中有5個屬性,UserName、Address、Salary、IsMarried和Email。在視圖中列出了這些屬性的記錄,并且在每一條數(shù)據(jù)后面都有一個刪除和修改按鈕。通過這些按鈕我們能創(chuàng)建、修改和刪除靜態(tài)列表。
現(xiàn)在首先讓我們了解一下以下例子中使用到的屬性的含義
data-ng-app——表明這是angular 要處理的元素
data-ng-controller——指定用來處理此元素的angular 控制器
data-ng-bind——指定該元素綁定model中的哪個屬性(上面列出的UserName、Address、Salary、IsMarried或者是Email)
比如UserName是Model的屬性并且將該屬性綁定到定義的元素
data-ng-repeat——用來指定循環(huán)的數(shù)據(jù)
使用上面的語法,我們對UserData這個angular 對象屬性進行循環(huán),取出里面的數(shù)據(jù)。limitTo:20表明最多循環(huán)20次,這是angular中的一個過濾器。當(dāng)然angular.js中還可以使用 其他的過濾器,比如uppercase、lowercase和currency等。
data-ng-click——用來綁定點擊事件
$index——表示循環(huán)中的索引
data-ng-model——將angular 模型應(yīng)用于html dom中,這表示當(dāng)修改input輸入框中的值時相應(yīng)的model中的屬性也會改變
data-ng-disabled——通過該屬性的值來禁用某個元素或者不禁用
下面讓我們看一下下面的代碼
var angularuserApp = angular.module("userApp", []);
angularuserApp.controller("userAppCtrl", function ($scope, $http, $interval, $window,$timeout) {})
***行代碼創(chuàng)建了一個對象,這是由html dom中data-ng-app指定的。另一行代碼創(chuàng)建了一個控制器,是由data-ng-controller指定的。
$http用來指定服務(wù)端的地址;$interval 和 $timeout就類似于jquery中的interval和timeout,這兩個變量在這個例子中只是定義但并沒有被使用到,其工作原理和jquery中的相同;$window的定義和Javascript中的window對象相同,使用這個變量可以實現(xiàn)你想用window對象實現(xiàn)的效果。
下面是所有HTML代碼
User Name Address Salary Is Married
下面是控制器的實現(xiàn)代碼
public class UserController : Controller { // // GET: /User/ public ActionResult Users() { return View(); } public JsonResult GetData() { ListobjList = new List (); //==Create the test data for in view ============================ User objuser = new User(); objuser.UserName = "Pragnesh Khalas"; objuser.Address = "B-25 Swaminarayan Park Naroda Ahmedabad"; objuser.Email = "pragnesh@gmail.com"; objuser.Salary = 9000; objuser.IsMarried = true; objList.Add(objuser); objuser = new User(); objuser.UserName = "Rahul Patel"; objuser.Address = "A-40 Navkar Soci. Ahmedabad"; objuser.Email = "rahul@gmail.com"; objuser.Salary = 8000; objuser.IsMarried = true; objList.Add(objuser); objuser = new User(); objuser.UserName = "Bhavin Patel"; objuser.Address = "D-10 Bharat Soci. Ahmedabad"; objuser.Email = "bhavin@gmail.com"; objuser.Salary = 6000; objuser.IsMarried = true; objList.Add(objuser); return Json(objList, JsonRequestBehavior.AllowGet); } }
下面是模型代碼
public class User { [Required] public string UserName { get; set; } [Required] public string Address { get; set; } [EmailAddress] public string Email { get; set; } public double? Salary { get; set; } public bool? IsMarried { get; set; } }
看完上述內(nèi)容,你們對如何入門AngularJS有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。