`
流浪的我
  • 浏览: 34148 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

angular.js 过滤器

 
阅读更多

AngularJS的filter(过滤器)是用来过滤变量的值,或者格式化输出,得到自己所期望的结果或格式。

 

过滤器可以使用一个管道字符(|)添加到表达式和指令中。

例如:<p>姓名为 {{ lastName | uppercase }}</p> //将字符串格式化为大写

 

一.模板中使用过滤器

在表达式中应用Filters (过滤器)

需要遵循格式如下:

{{ expression | filter }} 即 {{ 表达式 | 过滤器 }}

例如:{{ 12 | currency }} 输出为$12.00

{{expression | filter}}

{{12 | currency}} 输出 $12.00

 

在输出结果中应用Filters (过滤器)

通俗点讲就是Filter的叠加--前一filter的输出结果作为后一filter的输入数据源.

需要遵循格式如下:

{{ expression | filter1 | filter2 | ... }}  即 表达式(expression)使用filter1过滤后再使用filter2过滤...

{{expression | filter1 | filter2 | ..... }}

 

带参数的Filter

Filter后面可以跟一个或多个参数,用来帮助实现特殊要求、需求的filter.

需要遵循格式如下:

{{ expression | filter:argument1:argument2:... }}

示例:{{ 1234 | number:2 }}   = 1,234.00

{{expression | filter:argument1:argument2:...}}

 

二.AngularJS内置filter

AngularJS为我们提供了9个内建的过滤器

 

分别是currency, date, filter, json, limitTo, uppercase, lowercase, number, orderBy。

 

具体的用法在AngularJS的文档中都有详细说明。下面只说几个常用的。

currency filter(货币过滤器)

currency – 用来将变量转换成货币表现形式

如:{{ amount | currency}}

<div>{{amount | currency}}<div>

uppercase/lowercase filter(字母大小写filter) 

{{ "lower cap string" | uppercase }}
<input ng-model="userInput"> Uppercased: {{ userInput | uppercase }}

date filter(日期filter)

{{ 1304375948024 | date }}
{{ 1304375948024 | date:"MM/dd/yyyy @ h:mma" }}

json filter

{{ {foo: "bar", baz: 23} | json }}

 

三.自定义filter

AngularJS编写自定义过滤器的形式和AngularJS的factory service非常相像,一定记得它返回一个对象或者是一个函数即可,编写的时候,只需要一个带有一个以上参数的函数即可。

格式大致如:

app.filter('filter(过滤器)名称',function(){   
           return function(需要过滤的对象,过滤器参数1,过滤器参数2,...){      
                  //...执行业务逻辑代码        
                  return 处理后的对象;    
            }
});    

 

四.在controllers, services和drictives中使用filter

可以在AngularJS的controller, service或者driective中使用filter, 这时候你需要将依赖的filter名字加入到controller, service或者directive的依赖中去。

在controller中直接使用filter, 这样controller可以根据自身需要而适时调用filter

<div ng-controller="FilterController as ctrl">
	<div>
		All entries:
		<span ng-repeat="entry in ctrl.array">
			{{entry.name}}
		</span>
	</div>
	<div >
		Entries that contain an "a":
		<span ng-repeat="entry in ctrl.filterdArray">{{entry.name}}</span>
	</div>
</div>

 

分享到:
评论

相关推荐

    Angular.js v1.8.3.zip

    Angular.js 是一个强大的JavaScript框架,由Google维护,用于构建单页应用(Single Page Applications, SPA)。这个版本,v1.8.3,是Angular.js的一个稳定版本,它提供了丰富的功能和改进,帮助开发者构建高性能、可...

    angular.js 本地引用

    在前端开发领域,AngularJS(通常简称为Angular.js)是一个非常流行且强大的JavaScript框架,由Google维护。这个框架主要用于构建动态、单页Web应用程序(SPA),它提供了丰富的功能来简化前端开发过程,包括数据...

    angular.js

    - **过滤器(Filters)**:过滤器用于格式化和转换数据,如日期格式化、货币转换等,可以在视图中直接使用或在控制器中应用。 - **路由(Routing)**:AngularJS的ngRoute模块提供了URL路由功能,可以实现单页面...

    angular.js-master.zip

    7. **过滤器**:过滤器用于转换数据,例如格式化日期、货币或者过滤数组。 在"angular.js-master.zip"中,我们可以预期找到以下内容: - **src**目录:包含了AngularJS框架的主要源代码,可能包括核心服务、指令、...

    基于angular.js日期选择器.zip

    Angular.js的`date`过滤器可以用于格式化日期字符串,确保显示给用户的形式符合预期。同时,我们可能需要在控制器中添加一些逻辑来验证用户输入的有效性,例如检查所选日期是否超出范围。 在压缩包的文件中,“说明...

    angular.min.v125.rar(亲测可用)

    5. **过滤器**:过滤器用于格式化数据,如日期、货币等,可以方便地在视图中应用。 6. **模块化**:Angular.js应用被组织为模块,便于代码的管理和重用。 **Angular.js在Web开发中的应用** Angular.js广泛应用于...

    angular.js资料

    此外,Angular.js还有过滤器、路由和动画等其他特性,这些特性进一步丰富了开发功能。 在传统页面刷新方式中,用户点击链接后,浏览器会加载整个网页,包括所有的HTML、JavaScript和CSS。这种方式不仅加载速度慢,...

    angular.js后台管理系统.zip

    - **过滤器**:用于数据格式化,如日期格式化、货币转换等。 - **模板**:HTML视图,结合Angular指令展示数据。 4. **最佳实践** - **模块划分**:根据功能划分模块,每个模块负责特定的业务逻辑。 - **测试...

    angular.js-master

    - **过滤器**:用于格式化数据,如日期过滤、货币过滤、数组过滤等。 ### 10. 路由(Routing) - **AngularJS的uirouter或ngRoute模块**:实现页面路由管理,根据URL切换不同的视图。 ### 11. 测试与调试 - **...

    angular.js-1.6.9

    1.6.9版本提供了多种内置过滤器,如`date`、`currency`等,也可以自定义过滤器以适应个性化需求。 8. **路由**:AngularJS的路由功能(ngRoute模块)使得单页面应用(SPA)能够根据URL导航到不同的视图。1.6.9版本...

    ssm+springsecurity+angular.js前后分离小练习

    它提供了数据绑定、指令、服务、过滤器等功能,极大地提高了开发效率。在这个项目中,Angular.js可能被用来处理前端的数据展示、用户交互和路由管理,实现前后端的通信。 项目的描述提到,它已经完成了部分功能,并...

    angular.js+webapi Demo

    4. **过滤器(Filters)**:类似MVC中的过滤器,用于全局或特定操作的方法拦截,如异常处理、身份验证等。 5. **实体框架(Entity Framework)**:如果项目中包含了数据库操作,可能使用了微软的ORM工具Entity ...

    基于angular.js的分页导航

    AngularJS的核心特性包括数据绑定、依赖注入、指令系统、过滤器等。在分页导航中,我们将主要利用数据绑定和指令来实现动态交互。 1. 数据绑定:AngularJS的数据双向绑定使得视图与模型之间的同步变得简单。在分页...

    Angular.js.zip

    Angular.js,通常简称为Angular,是由Google维护的一个开源JavaScript框架,用于构建单页应用程序(SPA)。这个框架的主要目标是简化前端开发,通过提供强大的数据绑定和依赖注入机制,让开发者可以更加专注于应用...

    前端项目-c3-angular.zip

    2. **src** 目录:源代码文件夹,包含AngularJS指令的定义和其他辅助服务、工厂或过滤器等。 - `directive.js`:这里是核心的C3.js AngularJS指令实现,通常会定义一个名为`c3Chart`或类似的指令,使得可以在HTML...

    angular.js-1.6.4

    在1.6.4版本中,开发者可以使用内置过滤器,也可以自定义过滤器,以满足特定的显示需求。 六、服务 AngularJS的服务提供了一种共享状态和行为的方式,它们是单例对象,可以在应用程序的不同组件之间通信。1.6.4版本...

    angular.js开发框架

    6. **过滤器**:过滤器用于转换数据,如日期格式化、货币格式化等,可以在视图中或在表达式中使用。 7. **路由**:AngularJS的uirouter或ngRoute模块提供了路由功能,可以根据URL来加载不同的视图,实现单页应用...

    angular.js-1.7.8.zip

    3. 过滤器(Filters):过滤器用于格式化数据,例如日期格式化、货币转换等,它们可以轻松地嵌入到表达式或指令中。 4. 路由(Routing):AngularJS的ngRoute模块提供了路由功能,使得单页面应用能够根据URL导航到...

    sublime-angularjs-ee-snippets:Sublime Text 2 3 Angular.js、Angular UI Router 和 Require.js 的代码片段和完成(专注于 angularjs-ee-boilerplate 代码)

    Sublime Text 2/3 的 Angular.js EE 片段 Angular.js EE: [mock-pass-backend] Angular.js EE:[模拟数据] Angular.js EE:[模拟后端] Angular.js EE:[模拟网址] Angular ... Angular.js:[运行] Angular.js: [过滤器

    angular-1.4.0.zip

    Angular.js 是一款强大的前端JavaScript框架,由Google维护,主要用于构建单页应用(SPA)。Angular.js 1.4.0是该框架的一个稳定版本,它提供了丰富的特性,帮助开发者构建可扩展、可维护的Web应用程序。以下是对...

Global site tag (gtag.js) - Google Analytics