簡體   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