js框架——angular.js(3)

1. 过滤filter

     过滤就是将内容进行筛选或者转换或者两者都有,一般的表示方式就是在变量后面添加"|",然后加上过滤条件,如——

{{name|currency}}

这个currency过滤器可以将值转变成货币的格式。

另外,这个货币的格式也可以设置——

{{name|currency: "Euro €" }}

这样,输入1234,就会显示:

123,4 Euro €

2. 自定义过滤器

过滤器当然可以自定义,毕竟系统给定的过滤器根本不够用。

1  <body ng-app="MyApp">
2     <input type="text" ng-model="text" placeholder="Enter text"/>
3     <p>Input: {{ text }}</p>
4     <p>Filtered input: {{ text | reverse }}</p>
5   </body>
 1 var app = angular.module("MyApp", []);
 2 
 3 app.filter("reverse", function(input) {
 4 
 5     var result = "";
 6     input = input || "";
 7    
 8     for (var i=0; i<input.length; i++) {
 9       result = input.charAt(i) +"_____>" +result;
10       alert(result)
11     }
12     //巧妙的实现字符串翻转
13     //笨的方法
14     //var result = input.split('').reverse().join('')
15     
16     return result; 
17   
18 });

如上就是一个自定义的过滤器,简单来说就是编写一个带有参数的函数,将参数输入后,得到一组返回的数据,这个返回数据就是转换后的字符串。

列举一些常用的过滤器:

exclude:排除

<ul ng-init="names = ['Peter', 'Anton', 'John']">
      <li ng-repeat="name in names | exclude:'Peter'">
        <span>{{name}}</span>
      </li>
    </ul>