AngularJS系列——表达式、常用指令和过滤器

来源:互联网 发布:印刷如何打造网络接单 编辑:程序博客网 时间:2024/05/17 01:55

表达式

1. 使用Angular表达式:
  * 语法:{{expression}}
  * 作用: 显示表达式的结果数据
  * 注意: 表达式中引用的变量必须是当前域对象有的属性(包括其原型属性)
2. 操作的数据
  * 基本类型数据:number/string/boolean
  * undefined, Infinity, NaN, null解析为空串: "", 不显示任何效果
  * 对象的属性或方法
  * 数组
3. 注意:
 * 不能使用if/for/while
 * 可以三目运算符


 常用指令

1. Angular指令
   * Angular为HTML页面扩展的: 自定义标签属性或标签
   * 与Angular的作用域对象(scope)交互,扩展页面的动态表现力
2. 常用指令(一)
  * ng-app: 指定模块名,angular管理的区域
  * ng-model: 双向绑定,输入相关标签
  * ng-init: 初始化数据
  * ng-click: 调用作用域对象的方法(点击时)
  * ng-controller: 指定控制器构造函数名,内部会自动创建一个新的子作用域(外部的)
  * ng-bind: 解决使用{{}}显示数据闪屏(在很短时间内显示{{}})
  * ng-repeat: 遍历数组显示数据, 数组有几个元素就会产生几个新的作用域
    * $index, $first, $last, $middle,$odd, $even
  * ng-show: 布尔类型, 如果为true才显示
  * ng-hide: 布尔类型, 如果为true就隐藏

* ng-class: 动态引用定义的样式 {aClass:true, bClass:false}
* ng-style: 动态引用通过js指定的样式对象   {color:'red', background:'blue'}
* ng-click: 点击监听, 值为函数调用, 可以传$event
* ng-mouseenter: 鼠标移入监听, 值为函数调用,可以传$event
* ng-mouseleave: 鼠标移出监听, 值为函数调用,可以传$event

 

过滤器

   1. 作用: 在显示数据时可以对数据进行格式化或过滤
      * 单个--->格式化(将别的类型的数据转换为特定格式的字符串)
      * 多个----》格式化/过滤
      * 不会真正改变被操作数据
   * {{express | 过滤器名:补充说明}}
  2. 常用内置:
      * currency 货币格式化(文本)
      * number数值格式化(文本)
      * date 将日期对象格式化(文本)
      * json: 将js对象格式化为json(文本)
      * lowercase : 将字符串格式化为全小写(文本)
      * uppercase : 将字符串格式化全大写(文本)

      * limitTo 从一个数组或字符串中过滤出一个新的数组或字符串
         * limitTo : 3  limitTo : -3
      * orderBy : 根据指定作用域属性对数组进行排序
         * {{[2,1,4,3] | orderBy}}  升序
         * {{[2,1,4,3] | orderBy:‘-’}}  降序
         * {{[{id:2,price:3}, {id:1,price:4}] | orderBy:'id'}  id升序
        * {{[{id:2,price:3}, {id:1, price:4}] | orderBy:'-price'} price降序
      * filter : 从数组中过滤返回一个新数组
         * {{[{id:22,price:35}, {id:23,price:45}] | filter:{id:'3'}} //根据id过滤
         * {{[{id:22,price:35}, {id:23,price:45}] | filter:{$:'3'}} //根据所有字段过滤
   3. 自定义过滤器
      * 内置过滤器有限, 有时并不能满足页面显示数据的需求
      * 语法:
         module.filter('myLimitTo',function(){ //filterFactory
            return function(value,startIndex, endIndex){
               对vlaue进行过滤处理,并return 处理的结果
               //不要修改value本身
            }
         });

 

 表达式、常用指令和过滤器都是AngularJs的语法

0 0
原创粉丝点击