AngularJS Scope(作用域)
- Scope(作用域)是应用在HTML(视图)和JavaScript(控制器)之间的纽带。
- Scope是一个对象,有可用的方法和属性。
- Scope可应用在视图和控制器上。
- 可以将$scope对象当做一个参数传递(app.controller(‘myCtrl’, function($scope) {
$scope.carname = “Volvo”;
}); ),然后可以在视图中使用 {{carname}}。 - AngulaJS应用组成:View(视图),即HTML;Model(模型),当前视图中可用的数据;Controller(控制器),即JavaScript函数,可以添加和修改属性。scope是模型,带有属性和方法,可以在视图和控制器中使用。
根作用域
- 所有的应用都有一个$rootScope,它可以作用在ng-app指令包含的所有HTML元素中。
- $rootScope可作用于整个应用中,是各个controller中scope的桥梁。用rootscope定义的值,可以在各个controller中使用。
AngularJS过滤器
过滤器可以使用管道符(|)添加到表达式和指令中,可以用于转换数据。
- currency–格式化数字为货币格式。
- filter–从数组中选择一个子集。
- lowercase–格式化字符串为小写。
- orderBy–根据某个表达式排列数组。
- uppercase–格式化字符串为大写。
- lowercase–格式化字符串为小写。
- 自定义过滤器,app.filter(‘reverse’, function() { });
AngularJS服务(Service)
AngularJS中你可以创建子集的服务,或使用内建服务。服务作为一个参数传递到controller中。如果要使用它,需要再controller中定义。
- $location–返回当前页面的url地址,比使用window.location更好。
- $http服务–服务向服务器发送请求,应用响应服务器传送过来的数据(v1.5 中$http 的 success 和 error 方法已废弃。使用 then 方法替代)。
- $timeout–设置超时时间,对应window.setTimeout函数。
- $interval–间隔多久执行一次,对应window.setInterval函数。
- 自定义服务,app.service(‘myService’,function(){});
- $index–显示序号,可以在表格里面的td添加{{$index+1}}
- $even代表双数行,$odd代表单数行(可以用作表格样式区分)。
AngularJS Select(选择框)
AngularJS可以使用数组或对象创建一个下拉列表选项。
- 使用ng-options指令创建一个下来列表ng-options=“x for x in names”。
- 也可以使用ng-repeat创建下拉列表ng-repeat=“x in sites”,但是有局限性,选择的值是一个字符串(注意:ng-repeat用来显示表格数据非常简单)。
AngularJS HTML DOM
AngularJS 为HTML DOM元素的的属性提供了绑定应用数据的指令。
- ng-disabled指令–绑定应用程序数据到HTML的disabled属性。
- ng-show指令–隐藏或显示一个HTML元素。
- ng-hide指令–隐藏或显示一个HTML元素。
- ng-click指令–定义AngularJS点击事件。
AngularJS API
AngularJS全局API用于执行常见任务的javaScript函数集合,如:比较对象、迭代对象、转换对象。
- angular.lowercase–转换字符串为小写(1.7版本后改为angular.$$lowercase)。
- angular.uppercase–转换字符串为大写(1.7版本后改为angular.$$lowercase)。
- angular.isString–判断是否为字符串。
- angular.isNumber–判断是否为数字。
AngularJS动画
AngularJS提供了动画效果,可以配合CSS使用。需要引入 angular-animate.min.js库。还需要在应用中使用模型ngAnimate,
app = angular.module(‘myApp’, [‘ngAnimate’]);
AngularJS 依赖注入
依赖注入(Dependency Injection,简称DI)是一种软件设计模式。
AngularJS提供很好的依赖注入机制。有5个核心组件用来作为依赖注入:value、factory、service、provider、constant。
- value–是一个简单的javascript对象,用于向控制器传递值(配置阶段)。
- factory–是一个函数用于请求和返回。在 service 和 controller 需要时创建。
- provider–通过 provider 创建一个 service、factory等(配置阶段)。
- constant–用来在配置阶段传递数值,注意这个常量在配置阶段是不可用的。