>웹 프론트엔드 >JS 튜토리얼 >AngularJS의 $filter 필터 사용에 대한 자세한 설명(사용자 정의 필터)

AngularJS의 $filter 필터 사용에 대한 자세한 설명(사용자 정의 필터)

高洛峰
高洛峰원래의
2017-02-07 13:51:471003검색

1. 내장 필터

* $filter 过滤器,是angularJs中用来处理数据以更好的方式展示给我用户。比如格式化日期,转换大小写等等。
* 过滤器即有内置过滤器也支持自定义过滤器。内置过滤器很多,可以百度。关键是如何使用:
* 1.在HTML中直接使用内置过滤器
* 2.在js代码中使用内置过滤器
* 3.自定义过滤器
*
* (1)常用内置过滤器
*    number 数字过滤器,可以设置保留数字小数点后几位等
*    date  时间格式化过滤器,可自己设置时间格式
*    filter 过滤的数据一般是数组,数组中的数据可以是对象,字符串等
*    orderBy 排序根据数组中某一个元素的属性排序等
*    lowercase 转换小写
*    uppercase 转换大写
*    limitTo  字符串剪切 使用格式{{被剪切的字符串|limitTo:数值}} 数值绝对值代表要切得字符个数,正代表从头开始切,负值相反。
*
* */

2. 사용자 정의 필터

/*
* 定义格式:
* 模块名称.filter(‘过滤器名字',function(){
*    return function(被过滤数据,条件1,条件2.。。。){
*    //过滤操作
*    }
* });
* */

위의 형식을 적용하여 두 가지 간단한 사용자 정의 필터를 정의합니다. 하나는 조건이 있는 필터이고 다른 하나는 조건이 없는 필터입니다.

(1) [조건 없음], 기능: 고정 변환(때때로 프로젝트에서 역할 코드, 상점 코드 등이 발생하지만 표시할 때 필드 코드 등 해당 중국어가 표시되어야 함) : 101은 Boss를 나타냅니다

이때는 이렇게 코드값이 많기 때문에 필터를 사용하는 것이 좋습니다)

myApp.filter("ChangeCode",function () {
  return function (inputData) {
    var changed = "";
    switch (inputData){
      case '101':changed = "老板";break;
      case '102':changed = "经理";break;
      case '103':changed = "员工";break;
    }
    return changed;
  }
});
/*完成,说一下使用场景(就这个过滤器的功能)和方式。
* 场景:服务器返回的数据中有个字段code,直接放标签里<div>{{data.code}}</div>,会显示code值而不是code值对应的职称,这时候就可以用这个专门
*    针对这个转换的自定义过滤器
* 使用方式:
*      (1)HTML中:<div>{{data.code | ChangeCode}}</div>//跟内置过滤器一样的方式
*      (2)js中:变量 = $filter("ChangeCode")(被过滤的code数据)//一样的调用方式
*     
* */

(2) [ 조건]을 사용하면 필드 값이 배열의 특정 값인 데이터 집합을 필터링합니다. 예를 들어 다음은 특정 값인 모든 연령을 필터링하는 필터입니다. 매개변수는 age

myApp.filter("deleteByAge",function () {
  return function (input,byAge,age) {
    var array = [];
    for(var i=0;i<input.length;i++){
      if(input[i][byAge]!=age){
        array.push(input[i]);
      }
    }
    return array;
  }
})
/*
* 处理一组数据的时候一般很少用在HTML当中,带条件的自定义过滤器是根据年龄值,也可以根据数组元素中的任意一个属性值进行删除过滤。
* 使用方式:变量 = $filter("deleteByAge")(数组,“属性名称”,属性值);
* */

[내장 필터 사용 방법 요약]

(1) HTML의 일반적인 형식은 다음과 같습니다. {{필터링된 데이터 | 이름: 조건 1: 조건 2.. . . }} ; 필터 조건은 ':'으로 구분됩니다.

(2) 코드의 일반 형식은 다음과 같습니다. Variable = $filter("Filter name") (필터링된 데이터, 필터 조건 1, 필터 조건 2) , .)

(1) 정의 형식: 모듈 이름

filterName: 필터 이름

매개변수 1: 필터링된 데이터

매개변수 2: 일반 필터 조건은 여러 개가 있을 수 있으며 다음 매개변수 3은 항상 매개변수 N까지이므로 필요에 따라 추가합니다.

위는 편집자가 소개한 AngularJS의 $filter 필터(커스텀 필터) 사용법에 대한 자세한 설명입니다. 궁금한 점이 있으면 메시지를 남겨주세요. . 편집자는 모든 사람에게 즉시 답변을 드릴 것입니다. 또한 PHP 중국어 웹사이트를 지원해 주신 모든 분들께 감사드립니다!

AngularJS에서 $filter 필터(맞춤 필터) 사용에 대한 자세한 설명은 PHP 중국어 홈페이지를 참고해주세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:HTML, CSS, JS 분리다음 기사:HTML, CSS, JS 분리