带你进入AngularJS的大门

  

创新互联公司主营会昌网站建设的网络公司,主营网站建设方案,重庆App定制开发,会昌h5小程序定制开发搭建,会昌网站营销推广欢迎会昌等地区企业咨询

介绍

这是我写的***篇关于Angular.js的文章,但是我确信看完这篇文章将对你了解Angular.js的基本知识有很大的帮助。

首先需要指出什么是angular js,其实说白了angular js就是Javascript的一个类库,我们使用这个类库可以很容易的创建web页面。双向绑定是angular js其中的一个重要特征,这也是相对于其他的Javascript的类库来说angular js中很重要的特征。双向绑定即是当你修改任何属性的值的时候,相关联的html元素也将改变,你并不需要额外的去修改。

Angular js还为我们提供了MVVM(Model View ViewModel)的模型。MVVM的意思就是说Model是一个真实的对象,我们使用这个对象创建需要在页面显示的模型,并且调用视图模型。View(视图)即是我们需要输出的页面。

背景

如果你没有使用angular js或者其它的和angular js有相似功能的类库,比如knockout.js,那么当我们编写代码的时候将会写更多更复杂的代码。所以说使用angular js编写应用程序更快更高效,并且比其它的类库更容易管理。

代码使用

下面我们将通过一个简单的例子来逐渐的了解angular js。

为了更好的理解angular js的知识,我们使用asp.net作为后台的应用程序来实现简单的增删改查的操作,并且在这个例子中我们使用的是静态列表形式来展现增删改查的操作。

在数据模型中有5个属性,UserName、Address、Salary、IsMarried和Email。在视图中列出了这些属性的记录,并且在每一条数据后面都有一个删除和修改按钮。通过这些按钮我们能创建、修改和删除静态列表。

现在首先让我们了解一下以下例子中使用到的属性的含义

data-ng-app——表明这是angular 要处理的元素

data-ng-controller——指定用来处理此元素的angular 控制器

data-ng-bind——指定该元素绑定model中的哪个属性(上面列出的UserName、Address、Salary、IsMarried或者是Email)

比如UserName是Model的属性并且将该属性绑定到定义的元素

data-ng-repeat——用来指定循环的数据

使用上面的语法,我们对UserData这个angular 对象属性进行循环,取出里面的数据。limitTo:20表明最多循环20次,这是angular中的一个过滤器。当然angular.js中还可以使用 其他的过滤器,比如uppercase、lowercase和currency等。

data-ng-click——用来绑定点击事件

$index——表示循环中的索引

data-ng-model——将angular 模型应用于html dom中,这表示当修改input输入框中的值时相应的model中的属性也会改变

data-ng-disabled——通过该属性的值来禁用某个元素或者不禁用

下面让我们看一下下面的代码

var angularuserApp = angular.module("userApp", []);
angularuserApp.controller("userAppCtrl", function ($scope, $http, $interval, $window,$timeout) {})

***行代码创建了一个对象,这是由html dom中data-ng-app指定的。另一行代码创建了一个控制器,是由data-ng-controller指定的。

$http用来指定服务端的地址;$interval 和 $timeout就类似于jquery中的interval和timeout,这两个变量在这个例子中只是定义但并没有被使用到,其工作原理和jquery中的相同;$window的定义和Javascript中的window对象相同,使用这个变量可以实现你想用window对象实现的效果。

下面是所有HTML代码

 
 
  1.  
  2.      
  3.          
  4.              
  5.              
  6.              
  7.              
  8.              
  9.              
  10.              
  11.              
  12.          
  13.          
  14.              
  15.                 User Name 
  16.                 Address 
  17.                 Email 
  18.                 Salary 
  19.                 Is Married 
  20.              
  21.          
  22.          
  23.              
  24.                  
  25.                      
  26.                  
  27.                  
  28.                  
  29.                  
  30.                  
  31.                   
  32.                   
  33.              
  34.          
  35.      
  36.      
  37.      
  38.      
  39.         

     Edit User Information 

     
  40.          
  41.              
  42.                  
  43.                     User Name : 
  44.                  
  45.                  
  46.                      
  47.                  
  48.              
  49.              
  50.                  
  51.                     Address : 
  52.                  
  53.                  
  54.                      
  55.                  
  56.              
  57.              
  58.                  
  59.                     Email : 
  60.                  
  61.                  
  62.                      
  63.                  
  64.              
  65.              
  66.                  
  67.                     Salary : 
  68.                  
  69.                  
  70.                      
  71.                  
  72.              
  73.              
  74.                  
  75.                     Is Married : 
  76.                  
  77.                  
  78.                      
  79.                  
  80.              
  81.              
  82.                  
  83.                      
  84.                      
  85.                  
  86.  
  87.              
  88.          
  89.      
 
  •  
  • 下面是控制器的实现代码

     
     
    1. public class UserController : Controller 
    2.    { 
    3.        // 
    4.        // GET: /User/ 
    5.  
    6.        public ActionResult Users() 
    7.        { 
    8.            return View(); 
    9.        } 
    10.  
    11.        public JsonResult GetData() 
    12.        { 
    13.            List objList = new List(); 
    14.  
    15.            //==Create the test data for in view  ============================ 
    16.            User objuser = new User(); 
    17.            objuser.UserName = "Pragnesh Khalas"; 
    18.            objuser.Address = "B-25 Swaminarayan Park Naroda Ahmedabad"; 
    19.            objuser.Email = "pragnesh@gmail.com"; 
    20.            objuser.Salary = 9000; 
    21.            objuser.IsMarried = true; 
    22.            objList.Add(objuser); 
    23.  
    24.            objuser = new User(); 
    25.            objuser.UserName = "Rahul Patel"; 
    26.            objuser.Address = "A-40 Navkar Soci. Ahmedabad"; 
    27.            objuser.Email = "rahul@gmail.com"; 
    28.            objuser.Salary = 8000; 
    29.            objuser.IsMarried = true; 
    30.            objList.Add(objuser); 
    31.  
    32.            objuser = new User(); 
    33.            objuser.UserName = "Bhavin Patel"; 
    34.            objuser.Address = "D-10 Bharat Soci. Ahmedabad"; 
    35.            objuser.Email = "bhavin@gmail.com"; 
    36.            objuser.Salary = 6000; 
    37.            objuser.IsMarried = true; 
    38.            objList.Add(objuser); 
    39.  
    40.            return Json(objList, JsonRequestBehavior.AllowGet); 
    41.        } 
    42.  
    43.    } 

    下面是模型代码

     
     
    1. public class User 
    2.     [Required] 
    3.     public string UserName { get; set; } 
    4.  
    5.     [Required] 
    6.     public string Address { get; set; } 
    7.  
    8.     [EmailAddress] 
    9.     public string Email { get; set; } 
    10.  
    11.     public double? Salary { get; set; } 
    12.     public bool? IsMarried { get; set; } 

    以上就是本文的整体内容,希望对你有所帮助。

    文章标题:带你进入AngularJS的大门
    网站路径:http://www.shufengxianlan.com/qtweb/news49/291599.html

    网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

    广告

    声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

    猜你还喜欢下面的内容

    关键词优化知识

    分类信息网站