如何在ng-options上使用自定义过滤器?

时间:2016-08-26 11:22:20

标签: javascript angularjs

我的选择标记,其中包含从对象获取的选项。

contacts = [{'Id' : 1 , 'type' : "person,occupation"},
            {'Id': 2 , 'type' : "student,school"}]

<select ng-model="typeId" id="contactType" ng-init="typeId=1" ng-change="change()" ng-options="item.value as item.type for item in contacts" >

    // my custom filter 

module.filter("splitString", ['Service', function (Service) {
        return function (value) {
        var s =[];
           if(value.type!=null)
                s = value.type.split(",");
               else
              return '';
        if (Service.getvalue()) {
            return s[0];   
        }
        else {
            return s[1];
        }
       };
 }]);
  

Service.getvalue()返回boolean值,因此我需要   溢出逗号分隔的字符串,但当我使用此过滤器时,它给出了   $ digest迭代限制错误

提前谢谢。

1 个答案:

答案 0 :(得分:0)

答案如下:

    var services = smthg; // put here what you want to filter
    var filteredServices = services.filter(function(service){
        if(service.getvalue()) {
          return s[0];
        }
        else {
          return s[1];
        }
    }