AngularJS的介绍

合集下载

angularjs路径参数

angularjs路径参数

angularjs路径参数(原创实用版)目录1.AngularJS 简介2.路径参数的概念3.路径参数的用法4.路径参数的优点5.结论正文1.AngularJS 简介AngularJS 是一款由 Google 开发的开源 Web 应用程序框架,它旨在使开发人员更轻松地构建和管理复杂的 Web 应用程序。

AngularJS 提供了一组功能强大的 API,允许开发人员通过简单的标记和注解来实现应用程序的数据绑定、组件化和路由等功能。

2.路径参数的概念在 AngularJS 中,路径参数是一种用于构建动态路由的方法。

路径参数允许开发人员在 URL 中定义一个或多个变量,这些变量可以在应用程序中访问和绑定。

路径参数的概念使得开发人员可以轻松地构建具有灵活性和可扩展性的 Web 应用程序。

3.路径参数的用法在 AngularJS 中,路径参数的用法非常简单。

首先,开发人员需要在路由配置中定义一个路径模板,该模板包含一个或多个路径参数。

然后,在 URL 中使用大括号{}包围路径参数,并将其替换为实际的值。

例如,假设开发人员定义了一个路径模板为`/user/:id`,则 URL 可以是`/user/123`或`/user/456`,其中`123`和`456`是路径参数的实际值。

4.路径参数的优点路径参数具有以下优点:- 灵活性:路径参数允许开发人员轻松地构建具有动态路由的 Web 应用程序,这使得应用程序可以根据实际需求进行扩展和修改。

- 可扩展性:路径参数可以定义任意数量的变量,这使得开发人员可以轻松地处理复杂的数据结构和场景。

- 易于维护:路径参数使得 URL 更加简洁和易于理解,这有助于提高应用程序的可维护性和可读性。

5.结论总之,AngularJS 中的路径参数是一种非常实用的功能,它允许开发人员轻松地构建具有动态路由和灵活性的 Web 应用程序。

regularJS简介

regularJS简介

5理念编辑
Angular信奉的是,当组建视图(UI)同时又要写软件逻辑时,声明式的代码会比命令式的代码好得多,尽管命令式的代码非常适合用来表述业务逻辑。
将DOM操作和应用逻辑解耦是一种非常好的思路,它能大大改善代码的可调性;
将测试和开发同等看待是一种非常非常好的思路,测试的难度在很大程度上取决于代码的结构;
1.将数据模型(data-model)关联到视图(UI)上;
2.写、读、验证用户的输入;
3.根据模型计算新的值;
4.将输出格式本地化,
index.html:
<!doctype html>
<html ng-app>
<head>
<script src="angular-1.1.0.min.js"></script>
构建一个CRUD应用可能用到的全部内容包括:数据绑定、基本模板标识符、表单验证、路由、深度链接、组件重用、依赖注入。
测试方面包括:单元测试、端对端测试、模拟和自动化测试框架。
具有目录布局和测试脚本的种子应用作为起点。
3可爱之处编辑
AngularJS通过为开发者呈现一个更高层次的抽象来简化应用的开发。如同其他的抽象技术一样,这也会损失一部分灵活性。换句话说,并不是所有的应用都适合用AngularJS来做。AngularJS主要考虑的是构建CRUD应用。幸运的是,至少90%的WEB应用都是CRUD应用。但是要了解什么适合用AngularJS构建,就得了解什么不适合用AngularJS构建。
终于,我们可以来看一下神秘的双大括号{{}}了:
Total:{{qty *cost |currency}}这个{{表达式}}标记是AngularJS的数据绑定。其中的表达式可以是表达式和过滤器({{ expression | filter }})的组合。AngularJS提供了过滤器来对输入输出数据格式化。

angularjs的面试题

angularjs的面试题

angularjs的面试题AngularJS是一种流行的JavaScript框架,被广泛应用于Web应用开发中。

在面试过程中,面试官常常会通过提问关于AngularJS的问题来评估应聘者的技能水平和经验。

本文将介绍一些常见的AngularJS面试题,并为每个问题提供解答和相关示例代码。

1. 什么是AngularJS?它有哪些主要特点和优势?AngularJS是一种由Google开发的开源JavaScript框架,用于构建Web应用程序。

它具有以下主要特点和优势:- 双向数据绑定:通过自动更新模型和视图之间的数据,简化了数据绑定的处理。

- MVC架构:通过将应用程序划分为模型(Model)、视图(View)和控制器(Controller)三层,使代码更加模块化和可维护。

- 指令系统:通过扩展HTML语法,可以创建自定义的指令,用于实现复杂的交互和UI组件。

- 依赖注入:通过依赖注入,解耦了应用程序的各个组件,提高了代码的可测试性和可维护性。

2. 解释AngularJS中的数据绑定是如何工作的?在AngularJS中,数据绑定是通过指令和表达式实现的。

指令可以将数据模型中的属性与HTML元素进行绑定,从而实现数据的动态更新。

表达式是以两个花括号{{}}包裹的代码片段,用于在页面上显示或计算数据。

当模型中的属性发生变化时,AngularJS会自动更新与该属性绑定的页面元素,反之亦然。

例如,下面的代码演示了一个简单的数据绑定示例:HTML:```html<div ng-app="myApp" ng-controller="myCtrl"><input type="text" ng-model="name"><h1>Hello, {{ name }}!</h1></div>```JavaScript:```javascriptvar app = angular.module('myApp', []);app.controller('myCtrl', function($scope) {$ = 'John';});```在上面的代码中,通过`ng-model`指令将输入框的值与`name`属性进行绑定。

AngularJS是什么?

AngularJS是什么?

AngularJS是什么?AngularJS是一个开源Web应用程序框架。

它最初是由MISKO Hevery和Adam Abrons于2009年开发。

现在是由谷歌维护。

它的最新版本是1.3.14.AngularJS在它的官方文档中定义如下:AngularJS is a structural framework for dynamic web apps. It lets you use HTML as your template language and lets you extend HTML's syntax to express your application's components clearly and succinctly. Angular's data binding and dependency injection eliminate much of the code you currently have to write. And it all happens within the browser, making it an ideal partner with any server technology.特性AngularJS是一个功能强大的基于JavaScript开发框架用于创建富互联网应用(RIA)。

AngulajJS为开发者提供的选项(使用JavaScript)在一个干净的MVC(模型 - 视图 - 控制器)的方式来编写客户端应用程序。

AngularJS写的应用都是跨浏览器兼容。

AngularJS使用JavaScript代码自动处理适应每种浏览器。

AngularJS是开源的,完全免费的,并且由数千名世界各地的开发者开发维护。

它是根据Apache许可证2.0版许可发布。

总体来说,AngularJS是一个用来构建大型应用,高性能的Web 应用程序的框架,同时使它们易于维护。

AngularJS前端开发实战指南

AngularJS前端开发实战指南

AngularJS前端开发实战指南AngularJS是一种流行的JavaScript框架,用于构建现代Web应用程序。

本文将介绍AngularJS的基本概念和特性,并提供一些实战指南,帮助前端开发人员更好地使用AngularJS。

第一章:AngularJS简介AngularJS是由Google开发的一种前端JavaScript框架,旨在简化Web应用程序的开发过程。

它采用了MVVM(Model-View-ViewModel)的架构模式,允许开发者使用HTML作为模板语言,并通过添加一些扩展指令和功能来增强其功能。

第二章:AngularJS基础在本章中,我们将介绍AngularJS的基本概念和特性。

包括数据绑定、指令、控制器和服务等。

我们将通过示例代码和实际应用案例来说明这些概念的用法和好处。

第三章:AngularJS指令指令是AngularJS中最重要的概念之一。

我们将详细介绍ng-app、ng-controller和ng-model等常用指令的使用方法,并介绍如何自定义指令来满足特定需求。

第四章:AngularJS路由在本章中,我们将探讨AngularJS的路由功能。

路由允许我们在单页应用程序中实现页面间的导航和跳转。

我们将介绍路由的基本用法,并演示如何使用路由来组织和管理应用程序的不同模块。

第五章:AngularJS表单验证表单验证是Web应用程序中一个重要的功能。

在本章中,我们将介绍AngularJS的表单验证功能,包括输入验证、表单状态和自定义验证等。

我们还将提供一些实用的技巧和建议,帮助开发者提高表单验证的效率和质量。

第六章:AngularJS与后端交互在现代Web应用程序中,与后端服务器进行数据交互是非常常见的需求。

在本章中,我们将讨论如何使用AngularJS与后端服务器进行数据交互,包括RESTful API的使用、HTTP请求和响应的处理等。

我们还将介绍一些最佳实践和性能优化的技巧。

AngularJS框架使用教程与案例分享

AngularJS框架使用教程与案例分享

AngularJS框架使用教程与案例分享AngularJS是一个流行的前端开发框架,它以其简单易用、灵活性和强大功能而备受开发者喜爱。

本文将提供一些关于AngularJS框架的使用教程和案例分享,希望对初学者和有一定经验的开发者有所帮助。

一、介绍AngularJS是由Google开发的一个JavaScript框架,专门用于构建Web应用程序。

它采用了MVC(Model-View-Controller)的设计模式,通过数据双向绑定的方式,实现了数据与视图的自动更新。

AngularJS还提供了许多功能强大的指令和模块,可以简化开发过程,并改善Web应用程序的性能和用户体验。

二、基本概念和语法1. 模块(Module):模块是AngularJS中的一个基本概念,用于组织代码和管理依赖关系。

通过定义模块,我们可以将应用程序分解为多个可重用的功能块。

2. 控制器(Controller):控制器负责处理业务逻辑并将数据传递给视图。

我们可以通过在HTML元素上使用ng-controller指令,将数据和控制器进行绑定。

3. 指令(Directive):指令是AngularJS的一个重要特性,它可以扩展HTML 的功能。

我们可以通过自定义指令来创建新的HTML标签,或者改变现有标签的行为。

4. 表达式(Expression):表达式用于绑定数据到视图中。

在AngularJS中,使用双花括号{{}}来包装表达式,将数据动态地显示在页面上。

5. 过滤器(Filter):过滤器用于格式化数据或者对数据进行处理。

AngularJS 提供了一系列内置的过滤器,也可以自定义过滤器来满足特定的需求。

三、实践案例分享1. 生成动态列表:使用ng-repeat指令可以轻松地生成动态列表。

假设我们有一个数组对象,里面存储了学生的信息。

我们可以在HTML中使用ng-repeat来遍历该数组,并将每个学生的姓名和成绩显示出来。

2. 表单验证:AngularJS内置了一些表单验证的指令,可以帮助我们验证用户输入的有效性。

angularJs笔记

};
});
</script>
</body>
5、调用指令的方式
你可以通过以下方式来调用指令:
元素名
<runoob-directive></runoob-directive>
属性
ng-model 指令也可以:
为应用程序数据提供类型验证(number、email、required)。
为应用程序数据提供状态(invalid、dirty、touched、error)。
为 HTML 元素提供 CSS 类。
绑定 HTML 元素到 HTML 表单。
ng-app 指令定义一个 AngularJS 应用程序。
ng-model 指令把元素值(比如输入域的值)绑定到应用程序。
ng-bind 指令把应用程序数据绑定到 HTML 视图。
3、什么是 AngularJS?
AngularJS 使得开发现代的单一页面应用程序(SPAs:Single Page Applications)变得更加容易。
<script>
var app = angular.module("myApp", []);
app.directive("runoobDirective", function() {
return {
template : "<h1>自定义指令!</h1>"
AngularJS控制器
ng-repeat 指令
ng-repeat 指令对于集合中(数组中)的每个项会 克隆一次 HTML 元素。
4、创建自定义的指令

AngularJS

AngularJS一:概念是一款优秀的前端JS框架,用于谷歌很多产品。

拥有很多特性:核心的是:MVVM,模块化,自动化双向数据绑定语义化标签,依赖注入等;二:特点1:使用双大括号{{ }}语法进行数据绑定2:使用DOM控制结构来实现迭代或者隐藏DOM片段3:支持表单和表单的验证4:嫩尖逻辑代码关联到相关的DOM元素上5:能将HTML分组成可重用的组件<!doctype html><html><head><mate charset="uft-8"><script src="路径"></script></head><body><div ng-app=" "><p>名字:<inpute type="text" ng-model="name"></p><h1>hello{{name}}</h1></div></body></html>三:AngularJS是一个JavaScript框架,他通过<script>标签添加到HTML页面AngularJS通过指令扩展了HTML,且通过表达式绑定数据到HTMLAngularJS通过ng-dircctivcs扩展了HTMLng-app指令定义一个AngularJS应用程序ng-model指令把元素(比如输入到域的值)绑定到应用程序ng-bind指令把应用程序数据绑定到HTML视图四:AngularJS把应用程序绑定到HTML元素AngularJS可以克隆和重复HTML元素AngularJS可以隐藏和显示HTML元素AngularJS可以再HTML元素背后添加代码AngularJS支持输入验证AngularJS指令是一ng作为前缀的html属性ng-init指令初始化ANgularJS应用程序变量五:AngularJS应用AngularJS模块(model)定义了AngularJS的应用AngularJS控制器(controller)用于控制AngularJS应用ng-app指令定义了应用,ng-controller定义了控制器<div ng-app="myApp" ng-controller="myCtrl">姓:<input type="text" ng-model="firstname">名:<input type="text" ng-model="lastname"><br>姓名{{firstname+" "+lastname}}</div><script>var app=angular.model('myApp',[]);app.controller('myCtrl',function($scope){$scope.firstname="徐昭";$stname="胡夏";})</script>AngularJS模块var app=Angular.model('myApp',[]);AngularJS控制器appcontroller('myCtrl',function($scope){$scope.firstname="徐昭";$stname="胡夏";})六:AngularJS类似于JavaScript表达式,AngularJS表达式可以包括字母,操作符,变量AngularJS表达式可以写在HTML中AngularJS表达式不支持判断,循环及异常AngularJS表达式支持过滤器<div ng-app="" ng-init="quant=1;price=5"><h2>价格计算器</h2>数量:<input type="number" ng-model="quant">价格:<input type="number" ng-model="price">总价:<b>{{ quant*price}}</b></div>ng-repeat指令会重复一个人HTML例:<div ng-app="" ng-init="names=['胡夏','王丹','博雅','银萍']"><p>使用ng-repeat</p><ul><li ng-repeat="x in names">{{x}}</li></ul></div>ng-repeat指令在一个数组对象<div ng-app="" ng-init="names[{name:'黄药师',country:'东邪'},{name:'欧阳锋',country:'西毒'},{name:'洪七公',country:'天苍苍'}]"><p>循环对象</p><ul><li ng-repeat="x in names">{{+','+x.country}}</li></ul></div>七:ng-model指令1:ng-model指令用于绑定应用程序数据到HTML控制器(input select textarea)2:ng-model指令可以将输入域的值与AngularJS创建的变量绑定<div ng-app="myapp" ng-controller="myCtrl">名字:<input ng-model="name"></div><script>var app=angular.model('myapp',[]);app.controller('myCtrl', function ($scope){$="输出";});</script>3:双向绑定<div ng-app="myapp" ng-controller="myCtrl">名字:<input ng-model="name"><h1>你输了:{{name}}</h1></div>4:验证用户输入<form ng-app="" name="myform">email:<input type="email" name="myaddress" ng-model="text"><span ng-show="myform.myaddress.$error.email" >不是一个合法的邮箱地址</span> </form>5:应用状态ng-model指令可以为应用数据提供状态值(invalid,dirty,touched,error)<form ng-app="",name="myform" ng-init="mytext='test@'">Email:<input type="email" name="myaddress" ng-model="mytext" required></p><h1>状态</h1>{{myform.myaddress.$valid}}{{muform.myaddress.$dirty}}{{myform.myaddress.$touched}}</form>6:CSS类ng-model指令基于他们的状态为HTML元素提供了CSS类<style>input.ng-invalid{background-color:red;}</style><form ng-app="" name="myform">输入你的名字:<input name="myaddress" ng-model="text" required></form>八:scope1:scope(作用域)是应用在HTML(视图)和JavaScript(控制器)之间的纽带scope是一个对象,有可用的方法和属性scope可应用在控制器上2;当你在AngularJS创建控制器时,你可以将$scope对象当做一个参数传递<div ng-app="myapp" ng-controller="myCtrl"><h1>{{carname}}</h1></div><script>var app=angular.model("myapp",[])app.controller('myCtrl' function(#scope){$scope.carname="love";});</script>3:scope概述AngularJS应用组成如下:view(视图),即HTMLmodel(模型),当前视图中可用的数据Controller(控制器),即JavaScript函数,可以添加或修改属性<div ng-app="myapp" ng-controller="myctrl"><input ng-model="name"><h1>{{greeting}}</h1><button on-click='hellow()'>点我</button></div><script>var app=anggular.model('myapp',[])app.controller('myctrl' function($scope){$="love";$scope.hellow=function(){$scope.greeting='hellow'+$;};});</script>4:scope作用范围<div ng-app="myapp" ng-controller="myctrl"><ul><li ng-repeat="x in names">{{x}}</li></ul></div><script>var app=angular.model=('myapp',[]);app.controller('myctrl',function($scope){$s=["给对方","电磁阀","上档次","删除"];});</script>5:根作用域所有的应用都有一个$rootscope,他可以在ng-app指令包含的所有HTML元素中$rootscpope可用于整个应用中,是各个controller中scope的桥梁。

前端框架Angularjs的特点和优势

前端框架Angularjs的特点和优势AngularJS 是一种由 Google 开发的前端 JavaScript 框架,它具有许多特点和优势。

本文将详细介绍 AngularJS 的特点和优势,帮助读者更好地了解和使用这个强大的框架。

一、AngularJS 的特点1. 双向数据绑定:AngularJS 提供了强大的双向数据绑定机制,可以将数据模型与视图实时同步,任何对数据模型的修改都会立即更新到视图上,从而简化了编写和维护代码的过程。

2. MVVM 架构:AngularJS 使用Model-View-ViewModel(MVVM)的设计模式,将数据模型、视图和逻辑代码分离,使代码结构更加清晰,方便团队合作和维护。

3. 模块化开发:AngularJS 支持模块化开发,可以将复杂的应用程序拆分为多个模块,每个模块负责不同的功能,提高了代码的可读性和可维护性。

4. 指令系统:AngularJS 提供了丰富的内置指令,例如 ng-model、ng-controller 等,也支持自定义指令,开发者可以根据需要扩展指令,实现更强大的功能。

5. 依赖注入:AngularJS 实现了依赖注入机制,通过注入依赖对象,组件之间的耦合度得到降低,便于代码的重用和测试。

6. 测试友好:AngularJS 提供了一套完整的测试框架,包括单元测试和端到端测试,开发者可以方便地编写和运行测试用例,保证代码质量和稳定性。

二、AngularJS 的优势1. 响应式设计:AngularJS 的双向数据绑定机制可以实现实时响应用户的操作,提供更加流畅和友好的用户体验。

2. 大量的开源社区支持:AngularJS 拥有庞大的开源社区支持,支持者数量众多,提供了大量的教程、示例代码和第三方插件,方便开发者学习和使用。

3. 支持移动端开发:AngularJS 提供了移动端开发的支持,可以创建响应式的移动应用程序和移动网站,兼容各种移动设备。

AngularJS前端开发教程

AngularJS前端开发教程一、AngularJS简介AngularJS是一种开源的JavaScript框架,用于构建单页面应用程序(Single Page Application,即SPA)。

它由Google维护,并提供了许多功能和工具,使得前端开发更加高效和便捷。

1.1 AngularJS的特点AngularJS的核心特点包括双向数据绑定、模块化开发、依赖注入、指令等。

1.1.1 双向数据绑定双向数据绑定是AngularJS的一大亮点,它使得前端开发中的数据和视图能够自动保持同步。

当数据发生变化时,对应的视图也会自动更新;反之,当视图中的数据发生改变时,数据模型也会自动更新。

这种双向数据绑定大大简化了开发过程,提高了开发效率。

1.1.2 模块化开发AngularJS使用模块化开发的方式,将应用程序拆分为多个独立的模块。

每个模块具有自己的功能和依赖项,开发者可以按需引入不同的模块,从而降低了代码的耦合性,提高了代码的可维护性和可测试性。

1.1.3 依赖注入依赖注入是AngularJS的另一重要特性,它可以自动解决不同模块或组件之间的依赖关系。

开发者只需要声明所需的依赖项,AngularJS就会自动处理依赖的注入,大大简化了代码的编写和维护。

1.1.4 指令AngularJS的指令是开发者最常用的功能之一,它允许开发者扩展HTML语法,定义自己的标签和属性,从而实现更加丰富和灵活的页面交互效果。

1.2 安装和使用AngularJS安装AngularJS相对简单,只需要在HTML页面中引入相关的脚本文件即可。

使用AngularJS时,可以通过定义模块、控制器、服务等来组织代码,并将其应用到HTML标签上。

二、AngularJS的基本概念和用法2.1 模块(Module)模块是AngularJS中的基本组织单位,它负责管理和组织代码。

通过模块,可以将应用程序划分为不同的功能模块,从而让代码更具可维护性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

路由
我们可以使用 AngularJS提供的 when和otherwise两 个方法来定义应用 的路由。 用config函数在特定 的模块或应用中定 义路由
var myUIRoute = angular.module('MyUIRoute', ['ui.router', 'ng myUIRoute.config(function($stateProvider, $urlRouterProvide $urlRouterProvider.otherwise("/state1"); $stateProvider .state('state1', { url: "/state1", templateUrl: "tpls/state1.html" }) .state('state1.list', { url: "/list", templateUrl: "tpls/state1.list.html", controller: function($scope) { $scope.items = ["A", "List", "Of", "Items"]; } }) .state('state2', { url: "/state2", templateUrl: "tpls/state2.html" }) });
四大核心特性 MVC 模块化 双向数据绑定 指令
模块
• 在AngularJS中,模块负责组织、启动、实例化应用。 模块的简单写法: angular.module('modulename', [x1,x2])//依赖于x1、x2模块 .directive('directiveName', function() {}) .factory('a', function() { return 123; })//创建服务 .filter('b',function(){})//创建过滤器 .value('d', 123)//创建变量,创建后可修改 .contract('c',324)//创建常量创建后不可修改
什么是AngularJs?

AngularJS是协助搭建单页面工程的开源前端框架。它通过MVC模式使得 开发与测试变得更容易。

AngularJS试图成为WEB应用中的一种端对端的解决方案。它将指导开发 整个应用。

AngularJS于2009年发布第一个版本,由Google进行维护,压缩版94k。
{{#each beans}}
•{{xxx}}:花括号表示读取某一属性值
•filter、orderBy:过滤器。filter可以根据指定
的属性过滤数据(例子里是quer属性)。orderBy 是排序过滤器。这两个过滤器都是内置的。过滤 器是可自定义的。
编写控制器Controller
•PhoneListCtrl 控制器。控制器的声
var mycontroller=['$scope','$timeout',function(scope,tout){}]
• 第三种方式:通过$inject属性来声明依赖列表。
var mycontroller=function(scope,tout){}; mycontroller.$inject=['$scope','$timeout'];
路由写法:
AngularJS的优势在哪?
功能完整 解耦
视图、逻辑解 耦,具有更 提供完整的解 决方案。内置
模块化
丰富的服务。
大的灵活性。
引入依赖注入 技术管理各模 块。
组件化
利于测试
通过指令方式 可以灵活封装 html组件。
因为模块化管 理,可以对模 进行块单元测 试。
AngularJS和jquery
• AngularJS在配合jquery插件进行开发的时候,需要将插件再次封装。 • 不建议同时使用
相关网站
•慕课网() •AngularJS中文网(/) •AngularJS中文社区(/) •AngularJS官网()
AngularJS的介绍
内容提要
• 第一部分:什么是AngularJs? • 第二部分:一个简单的例子 • 第三部分:四大特性(MVC,模块化,双向数据绑 定,指令) • 第四部分:依赖注入 • 第五部分:服务,路由,过滤器 • 第六部分:AngularJS的优势与缺点
第一部分
什么是AngularJs?
指令
• 指令是AngularJS用来扩展浏览器能力的技术之一。在DOM编译期间,和 HTML关联着的指令会被检测到,并且被执行。这使得指令可以为DOM指定行为, 或者改变DOM的结构。
E(元素) <my-directive></my-directive> A(属性,默认值) <div my-directive="expression"></div> C(类名) <div class="my-directive:expression;"></div> M(注释) <--directive:my-directive expression-->
过滤器
• 常用过滤器:date,currency,uppercase ,json
<html ng-app="MyModule"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script src="framework/angular-1.3.0.14/angular.js"></script> <script src="MyFilter.js"></script> </head>
依赖注入
AngularJS中的依赖注入
• 第一种方式:通过方法参数名声明依赖。这种方式不推荐使用,因为js文件压缩后 方法参数名会改变。
function mycontroller($scope,$timeout){}//直接在方法参数中声明
• 第二种方式:声明一个数组,依赖列表放数组的前部,注入目标放数组最后一个元 素。推荐使用这个方法。
AngularJs的核心思想
• 将视图与业务逻辑解耦。在AngularJS中通过数据视图双向绑定实
现。这将提高代码的可测试性。
这个过程由 AngularJs自动进行 开发者数 据 模 型
UI
• 遵循MVC模式开发,鼓励视图、数据、逻辑组件间松耦合。
通过数据、 视图双向绑定 解耦
双向数据绑定
• 目前为止,js中唯一实现双向数据绑定
<!doctype html> <html ng-app> <head> <meta charset="utf-8"> </head> <body> <div> <input ng-model="greeting.text"/> <p>{{greeting.text}},Angular</p> </div> </body> <script src="js/angular-1.3.0.js"></script> </html>
通过 依赖注入 解耦
服务A 服务B 服务C
视 图
控 制 器
服务D
• 将测试与应用程序编写同等重要。在编写模块同时编写测试。因
为各组件的松耦合,使得这种测试得以实现。
• 应用程序页面端与服务器端解耦。两方只需定义好通信API,即可
并行开发。
一个简单的例子
来看看使用AngularJs怎么做
第一步:编写 HTML
<body> {{'Hello Angular'|Myfilter }} </body>
</html>
服务
• AngularJS应用中的服务是一些用依赖注入捆绑在一起的、可替换的对象。这些 对象可以提供一些封装好的逻辑操作,以供调用。
• AngularJS内置了很多有用的服务,例如前面见过的$timeout、$http等,我们 可以通过使用内置服务完成大部分业务逻辑。但很多时候我们还需要自定义服务。
var PhoneListCtrl = ['$scope', '$http', function($scope, $http) {
$http.get('../json/test-1.json') .success(function(data) { $scope.phones = data; }); $scope.sortType = 'age'; } ]; 明方式是 var c1=['ser1','ser2',function] c1是控制器的名字,ser1、ser2是控 制器所依赖的服务,以声明的方式注 入到控制器中。例子中注入了 $scope(数据模型)、$http(封装了 ajax的服务)。这两个服务都是 angularjs内置服务,服务是可以自 定义的。 •$scope.phones = data; 在这个地 方后台返回的数据应用到了数据模型 中,这时前台UI会自动响应更新。
相关文档
最新文档