返回顶部
首页 > 资讯 > 前端开发 > html >如何入门AngularJS
  • 511
分享到

如何入门AngularJS

2024-04-02 19:04:59 511人浏览 八月长安
摘要

今天就跟大家聊聊有关如何入门angularjs,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。介绍首先需要指出什么是angular js,其实说白了a

今天就跟大家聊聊有关如何入门angularjs,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

介绍

首先需要指出什么是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 控制器

<div id="divUserList" data-ng-app="userApp" data-ng-controller="userAppCtrl"> </div>

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

<strong data-ng-bind="UserName"></strong>

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

data-ng-repeat&mdash;&mdash;用来指定循环的数据

<tr data-ng-repeat="x in UserData | limitTo:20"  >

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

data-ng-click&mdash;&mdash;用来绑定点击事件

<input type="button" id="btnDelete" value="Delete" data-ng-click="DeleteRow($index)" />

$index&mdash;&mdash;表示循环中的索引

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

<input type="text" data-ng-model="UserName" required />

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

<input type="button" id="btnSaveAll" value="Save" data-ng-click="SaveRecord()" data-ng-disabled="CheckRecord()" />

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

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代码

<div id="divUserList" data-ng-app="userApp" data-ng-controller="userAppCtrl">     <table class="table-striped table-hover" style="width:100%;">         <colgroup>             <col style="width:15%;"/>             <col style="width:25%;" />             <col style="width:10%;" />             <col style="width:10%;" />             <col style="width:15%;" />             <col style="width:10%;" />             <col style="width:7%;" />             <col style="width:7%;" />         </colgroup>         <thead>             <tr>                 <th>User Name</th>                 <th>Address</th>                 <th>Email</th>                 <th>Salary</th>                 <th>Is Married</th>             </tr>         </thead>         <tbody>             <tr data-ng-repeat="x in UserData | limitTo:20"  >                 <td>                     <strong data-ng-bind="x.UserName"></strong>                 </td>                 <td><span data-ng-bind="x.Address"></span></td>                 <td><span data-ng-bind="x.Email"></span></td>                 <td><span data-ng-bind="x.Salary"></span></td>                 <td><span data-ng-bind="x.IsMarried"></span></td>                 <td><input type="button" id="btnEdit" value="Edit" data-ng-click="EditRow(x)" /> </td>                 <td><input type="button" id="btnDelete" value="Delete" data-ng-click="DeleteRow($index)" /> </td>             </tr>         </tbody>     </table>     <br />     <br />     <fORM name="myform" novalidate>         <h4> Edit User Information </h4>         <table class="table-striped table-hover" style="width:100%;">             <tr>                 <td>                     User Name :                 </td>                 <td>                     <input type="text" data-ng-model="UserName" required />                 </td>             </tr>             <tr>                 <td>                     Address :                 </td>                 <td>                     <input type="text" data-ng-model="Address" required />                 </td>             </tr>             <tr>                 <td>                     Email :                 </td>                 <td>                     <input type="email" data-ng-model="Email" />                 </td>             </tr>             <tr>                 <td>                     Salary :                 </td>                 <td>                     <input type="number" data-ng-model="Salary" />                 </td>             </tr>             <tr>                 <td>                     Is Married :                 </td>                 <td>                     <input type="checkbox" data-ng-model="IsMarried" />                 </td>             </tr>             <tr>                 <td colspan="2">                     <input type="button" id="btnSaveAll" value="Save" data-ng-click="SaveRecord()" data-ng-disabled="CheckRecord()" />                     <input type="button" id="btnClear" value="Clear" data-ng-click="ClearRecord()" data-ng-disabled="CheckRecord()" />                 </td>              </tr>         </table>     </form> </div> <script>     var angularuserApp = angular.module("userApp", []);     angularuserApp.controller("userAppCtrl", function ($scope, $http, $interval, $window, $timeout) {         //==Intit Value================         $scope.UserName = "";         $scope.Address = "";         $scope.Email = "";         $scope.Salary = null;         $scope.IsMarried = null;         //==Intit Value================         $scope.LoadIntialData = function () {             var routeurl = '@Url.Action("GetData", "User")';             $http.get(routeurl).success(function (data) {                 $scope.UserData = data;             }).error(function (e) {                 // error handling             });         }         $scope.LoadIntialData();         $scope.DeleteRow = function (index) {             $scope.UserData.splice(index, 1);             //==================if you use real time application then need to call to conroller from remove record from db=======         }         $scope.EditRow = function (ele) {             $scope.UserName = ele.UserName;             $scope.Address = ele.Address;             $scope.Email = ele.Email;             $scope.Salary = ele.Salary;             $scope.IsMarried = ele.IsMarried;         }         $scope.SaveRecord = function () {             var invalidfiled = "";             if (!$scope.myform.$valid) {                 return;             }             else {                 var IsItemUpdate = false;                 $.each($scope.UserData, function (i, n) {                     if (n.UserName == $scope.UserName && n.Address == $scope.Address) {                         IsItemUpdate = true;                         n.Email = $scope.Email;                         n.Salary = $scope.Salary;                         n.IsMarried = $scope.IsMarried;                     }                 });                 if (IsItemUpdate == false) {                     var obj = new Object();                     obj.UserName = $scope.UserName;                     obj.Address = $scope.Address;                     obj.Email = $scope.Email;                     obj.Salary = $scope.Salary;                     obj.IsMarried = $scope.IsMarried;                     $scope.UserData.unshift(obj);                 }                 $scope.ClearRecord();                 //==================if you use real time application then need to call to conroller from save record from db=======             }         }         $scope.CheckRecord = function () {             if ($scope.UserName != "" && $scope.Address != "")                 return false;             else                 return true;         }         $scope.ClearRecord = function () {             $scope.UserName = "";             $scope.Address = "";             $scope.Email = "";             $scope.Salary = null;             $scope.IsMarried = null;         }     }); </script>

下面是控制器的实现代码

public class UserController : Controller    {        //        // GET: /User/         public ActionResult Users()        {            return View();        }         public JSONResult GetData()        {            List<User> objList = new List<User>();             //==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; } }

看完上述内容,你们对如何入门AngularJS有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网html频道,感谢大家的支持。

--结束END--

本文标题: 如何入门AngularJS

本文链接: https://lsjlt.com/news/86163.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何入门AngularJS
    今天就跟大家聊聊有关如何入门AngularJS,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。介绍首先需要指出什么是angular js,其实说白了a...
    99+
    2024-04-02
  • AngularJS如何实现依赖注入
    小编给大家分享一下AngularJS如何实现依赖注入,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!简介:首先我们需要理解什么是依...
    99+
    2024-04-02
  • 如何入门MongoDB
    今天就跟大家聊聊有关如何入门MongoDB,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。NoSQL 非关系型数据库MongoDB 是一个基于分布式文...
    99+
    2024-04-02
  • kafka该如何入门
    kafka该如何入门,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。背景:当今社会各种应用系统诸如商业、社交、搜索、浏览等像信息工厂一样不断的生产出各种信息,在大数据时代,我...
    99+
    2023-06-19
  • 如何优化AngularJS
    本篇内容介绍了“如何优化AngularJS”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在Scalyr,最...
    99+
    2024-04-02
  • angularJS如何使用
    小编给大家分享一下angularJS如何使用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!事件指令:ng-click/dblcl...
    99+
    2024-04-02
  • Python入门难吗?如何顺利入门Python学习?
    很多人想要抓住人工智能的红利,转行Python,首要的问题就是:Python入门难吗在回答这个问题之前,我们需要了解一下Python是什么Python是一种计算机程序设计语言。你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常...
    99+
    2023-06-02
  • 如何快速入门Vuex
    本篇文章为大家展示了如何快速入门Vuex,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、前言当我们的应用遇到多个组件共享状态时,会需要多个组件依赖于同一状态。传参...
    99+
    2024-04-02
  • 如何快速入门HTML
    这篇文章主要讲解了“如何快速入门HTML”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何快速入门HTML”吧!html网页语法结构如下:   <h...
    99+
    2024-04-02
  • 如何快速入门Mybatis
    这篇文章主要讲解了“如何快速入门Mybatis”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何快速入门Mybatis”吧!本文主要内容:传统JDBC传统JDBC编码格式public&nbs...
    99+
    2023-06-15
  • php如何快速入门
    要快速入门PHP,可以按照以下步骤进行:1. 安装一个PHP开发环境:可以选择安装XAMPP、WAMP、MAMP等集成环境,也可以在...
    99+
    2023-08-30
    PHP
  • Linux deploy该如何入门
    今天就跟大家聊聊有关Linux deploy该如何入门,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。作为一名程序员,不管是前端还是后端,自然是离不开和服务器打交道的。比如我就一直想有...
    99+
    2023-06-28
  • 如何实现J2SE入门
    这期内容当中小编将会给大家带来有关如何实现J2SE入门,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。J2SE入门:1. 预备知识2. 存储方式和操作控制3. 面向对象技术4. 常用数据结构5. 异常处理机...
    99+
    2023-06-03
  • 如何实现HTML入门
    如何实现HTML入门,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。您需要什么在 w3school,您不需要任何工具就可以学习 HTML。您不需要任何 HTML ...
    99+
    2023-06-03
  • SAP PI该如何入门
    今天给大家介绍一下SAP PI该如何入门。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。SAP PI入门SAP ERP是什么对于任何业务——无论是大的还是小的—...
    99+
    2023-06-05
  • 如何进行CPack的入门
    本篇文章给大家分享的是有关如何进行CPack的入门,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。背景CPack 是 CMake 2.4.2 之...
    99+
    2024-04-02
  • 如何进行linux SELinux入门
    小编今天带大家了解如何进行linux  SELinux入门,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“如何进行linux...
    99+
    2023-06-28
  • Golang如何入门与提高
    近年来,Golang(或称Go语言)以其高效、稳定、并发性强的特点越来越受到开发者们的青睐。那么,作为一个初学者,如何快速上手Golang?本篇文章将为你提供一些学习Golang的基础知识和提高方法。一、Golang入门环境配置首先,你需要...
    99+
    2023-05-14
  • AngularJS如何实现异步
    小编给大家分享一下AngularJS如何实现异步,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!AngularJS 异步解决实现方...
    99+
    2024-04-02
  • AngularJS中如何使用three.js
    小编给大家分享一下AngularJS中如何使用three.js,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!AngularJS中...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作