3.18

使用模块能给我们带来许多好处:
1、保持全局命名空间的清洁;
2、编写测试代码更容易,并能保持其清洁,以便更容易找到互相隔离的功能;
3、易于在不同应用间复用代码; 
4、使应用能够以任意顺序加载代码的各个部分。


// 这个方法用于获取应用
angular.module('myApp')


作用域(scope)
① 是构成AngularJS应用的核心基础,在整个框架中都被广泛使用,

 $scope
对象是定义应用业务逻辑、控制器方法和视图属性的地方。

作用域是应用状态的基础。 

AngularJS启动并生成视图时,会将根 ng-app 元素同 $rootScope 进行绑定。 $rootScope 是所
有 $scope 对象的最上层。
$scope 对象在AngularJS中充当数据模型,但与传统的数据模型不一样, $scope 并不负责处
理和操作数据,它只是视图和HTML之间的桥梁,它是视图和控制器之间的胶水。

我们可以在AngularJS应用的模板中使用多种标记,包括下面这些。
  指令:将DOM元素增强为可复用的DOM组件的属性或元素。
  值绑定:模板语法 {{ }} 可以将表达式绑定到视图上。
  过滤器:可以在视图中使用的函数,用来进行格式化。
  表单控件:用来检验用户输入的控件。

作用域有以下的基本功能:
  提供观察者以监视数据模型的变化;
  可以将数据模型的变化通知给整个应用,甚至是系统外的组件;
  可以进行嵌套,隔离业务功能和数据;
  给表达式提供运算时所需的执行环境。


$scope 对象的生命周期处理有四个不同阶段。
创建   链接    更新   销毁


控制器在AngularJS中的作用是增强视图。

表达式和 eval(javascript) 非常相似,但是由于表达式由AngularJS来处理,它们有以下显
著不同的特性:
  所有的表达式都在其所属的作用域内部执行,并有访问本地 $scope 的权限;
  如果表达式发生了 TypeError 和 ReferenceError 并不会抛出异常;
  不允许使用任何流程控制功能(条件控制,例如 if/eles ) ;
  可以接受过滤器和过滤器链。

1、AngularJS通过 $parse 这个内部服务来进行表达式的运算,这个服务能够访问当前所处的作
用域。这个过程允许我们访问定义在 $scope 上的原始JavaScript数据和函数。

 $watch 来监听数据的变化

<div ng-controller="MyController">
<input ng-model="expr"
type="text"
placeholder="Enter an expression" />
<h2>{{ parseValue }}</h2>
</div>

angular.module("myApp", [])
.controller('MyController',
function($scope,$parse) {
$scope.$watch('expr', function(newVal, oldVal, scope) {
if (newVal !== oldVal) {
// 用该表达式设置parseFun
var parseFun = $parse(newVal);
// 获取经过解析后表达式的值
$scope.parsedValue = parseFun(scope);
}
});
});

2、插值字符串
插值允许基于作用域上的某 个条件实时更新文本字符串。要在字符串模板中做插值操作,需要在你的对象中注入$interpolate 服务。

angular.module('myApp', [])
.controller('MyController',
function($scope, $interpolate) {
// 我们同时拥有访问$scope和$interpolate服务的权限
});

$interpolate 服务是一个可以接受三个参数的函数,其中第一个参数是必需的。
  text (字符串) :一个包含字符插值标记的字符串。
  mustHaveExpression (布尔型) :如果将这个参数设为 true ,当传入的字符串中不含有表
达式时会返回 null 。
  trustedContext (字符串) :AngularJS会对已经进行过字符插值操作的字符串通过
$sec.getTrusted() 方法进行严格的上下文转义。


过滤器
1、currecy 过滤器可以将一个数值格式化为货币格式。
2、date 过滤器可以将日期格式化成需要的格式。
3、filter 过滤器可以从给定数组中选择一个子集,并将其生成一个新数组返回。
4、json 过滤器可以将一个JSON或JavaScript对象转换成字符串。
5、limitTo 过滤器会根据传入的参数生成一个新的数组或字符串,新的数组或字符串的长度取
决于传入的参数,通过传入参数的正负值来控制从前面还是从后面开始截取。
6、lowercase 过滤器将字符串转为小写。
7、number 过滤器将数字格式化成文本。 它的第二个参数是可选的, 用来控制小数点后截取的位数。
8、orderBy 过滤器可以用表达式对指定的数组进行排序。
9、uppercase 过滤器可以将字符串转换为大写形式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值