大家好,我是IT 修真院郑州分院第八期的学员,今天给大家分享一下,题目angular js 中constant 和$ filter 的用法。
一,背景介绍
AngularJS中有时在不同的控制器中使用到同一个变量,需要在NG-应用或控制器中定义的全局变量.angularjs自身有二种设置全局变量的方法,常数()是其中的一种方法。
过滤作用就是接收一个输入,通过某个规则进行处理,然后给用户返回处理后的结果.Filter可以用在模板,控制器,或者服务,同时也会很容易自定义一个过滤器过滤器。
二,知识剖析
定义全局变量的三种方法
1 )通过var直接 定义全局变量。
2 )用angularjsconstant 来设置全局变量。
3 )用angularjsvalue 来设置全局变量。
恒定值,状语从句:值的区别
1 )值不可以在配里注入,但是常可以;
2 )值可以修改,但是常数不可以修改,一般直接用常配配一些需要经常使用的数据。
$器过滤过滤器
器过滤的英文用来格式化数据用的
基本原型
{{表达| 过滤}}
多个过滤器连用版
{{expression | filter1 | filter2}}
传入参数版
{{expression | filter:1:2}}
$filter内置过滤器
ng内置了9种过滤器,分别是:currency(货币)、date(日期)、filter(子串匹配)、json(格式化json对象)、limitTo(限制个数)、lowercase(小写)、uppercase(大写)、number(数字)、orderBy(排序)。
三、常见问题
如何使用constant和$ilter
四、解决方案
五、编码实战
六、拓展思考
如何自定义过滤器
$filter自定义过滤器:
{{带过滤数据 | 过滤器名:参数1:参数2:参数3.....}}
app.filter('过滤器名', function () {
returnfunction (待过滤数据, 参数....) {
......
return 已过滤数据;
}
});
七、参考文献
参考三:angularjs内置9种过滤器
八、更多讨论
讨论一:如何获取angular通过过滤器过滤后的数据
在module里面去取
angular.module('tset', ['$filter', function($filter){
var a = 10;
var b = $filter('currency')(a, '¥');
}])
讨论二:constant和value用法上的区别
常可以注入配置,值不可以。除此之外,恒和值定义全局变量时的用法是相同的,常的值也是可以改变的,但是我们认为规定定义恒全局变量之后当做一个常量来使用,在之后的操作中不更改常值,认为设置了常值可以改变,值值可以改变的设定。在之后的学习工作中也尽量遵守这一规则。
讨论三:为什么角?的过滤器要采用闭包的形式目的是什么
app.filter 这种函数回掉的机制是由于异步而采用闭包就是为了不污染全局变量的情况下,保存数据(从js 角度出发,angular 有可能是为了实现数据双向绑定(需要保存数据) ,又不制造过多的全局变量)。但是在角中有其他什么特殊意义或目的,没有深入了解。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。