繁体   English   中英

用于angularjs分页的自定义过滤器

[英]Custom Filter for angularjs pagination

我正在尝试使用angularjs将条件应用于分页。

该条件从函数GetParameterVisibility(x)返回。

这就是我所拥有的:

dir-paginate="x in itemsToDisplay | orderBy:'Name' | filter:textFilter | itemsPerPage: pageSize"

我想做的是基于从函数返回的布尔值的过滤器,但是还可以将文本过滤器应用于显示的项目。

我如何应用此附加条件,该附加条件也将与文本过滤器一起使用。

例如

dir-paginate="x in itemsToDisplay | orderBy:'Name' | filter:(textFilter || GetParameterVisibility(x)) | itemsPerPage: pageSize"

提前致谢!

在应用程序模块中创建用于处理功能的过滤器:

.filter('fvisible', ['myService',function(myService) {
  return function(input) {
    return myService.GetParameterVisibility(input);//or any logic with this
  };
}]);

然后,您将过滤器链接起来,因为顺序很重要,并且来自一个过滤器的数据将流向另一个过滤器。

| filter:textFilter | filter:fvisible |

使用过滤器链接,您可以使用声明过滤器。 我不太确定您要基于bool返回什么,但这就是您可以创建自己的过滤器进行处理的方式。 另外,您还必须注入getVisibility函数,因此您可以在此函数内部创建创建服务并注入以过滤可见性。

.service('myService',function(){
 this.GetParameterVisibility = function(){
      //
 };
 });

青色,感谢您的帮助,我想我快到了。 (为辩护,我通常会编写C#代码)

我现在有这个:

<div class="DataItem" dir-paginate="x in itemsToDisplay | orderBy:'Name' | filter:textFilter | filter:fvisible | itemsPerPage: pageSize" current-page="currentPage">



   var app = angular.module('parametersApp', ['angularUtils.directives.dirPagination']);
        app.controller('parametersController', function ($scope, $http) {   //Code    });


 angular.module('parametersApp').filter('fvisible', ['myService', function (myService) {
            return function (input) {
                return myService.GetParameterVisibility(input);
            };
        }]).service('myService', function () {
            this.GetParameterVisibility = function (parameter) {

                if ($('#chkInAlert').is(':checked')) {
                    if (parameter.AlertPriority > 0) {
                        return true;
                    }
                    else {
                        return false;
                    }

                }
                else {
                    return true;
                }

            };
        });

不会导致任何错误,这是一个额外的好处,但是它似乎也不起作用。

一个问题是它如何将对象x从我在itemsToDisplay中的dir-paginate =“ x传递给GetParameterVisibility函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM