zoukankan      html  css  js  c++  java
  • angularjs 迭代器

           angularjs 迭代器可以使用管道字符(|)添加到表达式和指令中。

          有以下五种转换数据的迭代器:

                      (1)currency-格式化数字为货币格式。

                      (2)filter-从数组中选择一个一个子集。

                      (3)lowercase格式化字符串为小写。

                      (4)orderBy-根据某个表达式排列数组。

                      (5)uppercase-格式化字符串为大写。

    1. 添加到表达式中:
      1  <div ng-app="myApp" ng-controller="personCtrl">
      2 
      3 <p>姓名为 {{ lastName | uppercase }}</p>
      4 
      5 </div> 
      添加到指令中:
      1  <div ng-app="myApp" ng-controller="namesCtrl">
      2 
      3 <ul>
      4   <li ng-repeat="x in names | orderBy:'country'">
      5     {{ x.name + ', ' + x.country }}
      6   </li>
      7 </ul>
      8 
      9 <div> 
    2. 通过实例来理解:

    使用起来很方便,这里主要探索一下迭代器的一般原理,到底它是怎么迭代的。这样可以实现更多功能的实用的迭代器。

    (1):实现一个字符拼接

    (2):实现一个求目标字符串的长度。

    <!DOCTYPE html>
    <html lang="zh-CN" ng-app="webapp">
      <head>
        <meta charset="utf-8">
        <title>Demo</title>
        <link rel="stylesheet" href="../bootstrap.min.css"/>
        <style>
            body {font-size:20px;}
            .ng-scope {
                margin: 10px;
                padding:10px;
                border:1px solid #000;
            }
            span {margin:0 0 0 40px;color:red;}
            li {float:left;margin:0 100px 0 0 ;}
            ul {background:lightblue;}
        </style>
      </head>
      <body>
              
              <div ng-controller="FilterTestCtrl">
                   
                  <div>
                      <h1>Filter</h1>
                      <ul class="clearfix">
                          <li>
                              <h3>迭代器基本操作</h3>
                              <div>
                                  100|currency<span>{{100|currency:"RMB "}}</span><br />
                                  1404292235912|date:"yyyy-MM-dd HH:mm:ss"<span>{{1404292235912|date:"yyyy-MM-dd HH:mm:ss"}}</span><br />
                                  ["aaa","bbb","ccc"]|filter:'c'<span>{{["aaa","bbb","ccc"]|filter:'c'}}</span><br />
                                  [{name:"aaa",age:30},{name:"ccc",age:40}]|filter:'c' <span>{{[{name:"aaa",age:30},{name:"ccc",age:40}]|filter:'c'}}</span><br />
                                  "abcdefg"|limitTo:3<span>{{"abcdefg"|limitTo:3}}</span><br />
                                  ["aa","bb","cc","dd"]|limitTo:2<span>{{["aa","bb","cc","dd"]|limitTo:2}}</span><br />
                                  {a:1,b:2}|json<span>{{{a:1,b:2}|json}}</span><br />
                                  "ABCDEFG"|lowercase<span>{{"ABCDEFG"|lowercase}}</span><br />
                                  "abcdefg"|uppercase<span>{{"abcdefg"|uppercase}}</span><br />
                                  16.7563|number:2 <span>{{16.7563|number:2}}</span><br />
                                  167563|number <span>{{167563|number}}</span><br />
                                  [{"age": 20},{"age": 12}] | orderBy:'age'<span>{{ [{"age": 20},{"age": 12}] | orderBy:'age'}}</span><br />
                                  [{"age": 20},{"age": 12}] | orderBy:'age':true <span>{{ [{"age": 20},{"age": 12}] | orderBy:'age':true }}</span><br />  
                              </div>
                          </li>
                          <li>
                              <h3>实现更多实用的filter</h3>
                              <div>
                                  ["a","b","c"]|concat:"," <span>{{["a","b","c"]|concat:","}}</span><br />
                                  "abcdefg"|strlen<span>{{"abcdefg"|strlen}}</span><br />
                                  ["a","b","c"]|concat:","|strlen<span>{{["a","b","c"]|concat:","|strlen}}</span><br />
                              </div>
                          </li>
                      </ul>
                  </div>
              </div>
            
          <script src="../angular.min.js"></script>
          <script src="../demo.js"></script>
      </body>
    </html>

    filter两个参数,第一个参数为绑定的迭代器名称,第二个参数表示对操作对象的处理。

    angular.module("webapp",[]);
    
    angular.module("webapp")
    .filter("concat" , [function() { return function(arr , concat_char) { if(!angular.isArray(arr)) { return ''; } concat_char = concat_char || ' '; return arr.join(concat_char);// }; }]).filter("strlen" , [function() { return function(str) { if(!angular.isString(str)) { return ''; } return str.length; }; }]);

     查看实例演示结果:http://dreammaker-8-16-qboooogle.c9users.io:8080/

  • 相关阅读:
    openssl windows ndk 编译----0
    openssl windows ndk 编译
    android Android NDK开发2之Windows及L下的gcc手动编译(交叉连编译
    list 和 set 的区别
    Arrays.toString()方法和Arrays类 的一些概念
    几个简单的面试题
    大脑记忆(自我总结)
    DI() T()函数
    Latex设置
    selenium获取元素信息的方法
  • 原文地址:https://www.cnblogs.com/qbzmy/p/5788741.html
Copyright © 2011-2022 走看看