首页 > 解决方案 > 如何使用 AngularJS 创建过滤器来显示/隐藏某些项目?

问题描述

我正在尝试创建一个过滤器来显示和隐藏列表中的某些项目。我已经设置了两个过滤器,但我似乎无法让这个工作。正如你所看到的,我在其他人那里得到了一些帮助,但这种帮助不再与我同在。我正在运行 AngularJS。

到目前为止,我有以下内容:

1) 显示和隐藏价格。

<h4 class="pl_header">Hidden Prices</h4>
            <ul class="price_list_filter">
                <li>
                    <label>
                        <span>Show</span>
                        <input type="checkbox" class="faChkSqr pull-right" ng-model="filter_hi" value="Hi" ng-change="hidden_show()">

                    </label>
                </li>

2)将它添加到我的身体中。

<tbody ng-repeat="price_level in price_levels | orderBy:propertyName:reverse | filter:filterByCategory | filter:filterByType | filter:searchSKU | filter:filterByHide" ng-style="{ 'background-color' : (price_level.buyer) ? 'lightgray' : 'white' }">

3)我的JavaScript。

$scope.hidden_show = function() {
        $scope.UIfilterby.hide = [];
        if($scope.filter_hi == false){
            $scope.UIfilterby.hide.push("Hi");
        }
        $scope.UIfilterby.hide = $scope.UIfilterby.hide.join();

    }

$scope.filterByHide = function(price_level){
        if($scope.UIfilterby.hide){
            return ($scope.UIfilterby.hide.indexOf(price_level.hidden) !== false);
        }else{
            return {};
        }
    }

我遵循与其他两个过滤器类似的结构,一个是按类别过滤,另一个是按类型过滤。也许我需要将它添加到 django 中的 filters.py 中?我是新手,任何帮助将不胜感激。谢谢你。

标签: htmlangularjsdjango

解决方案


推荐阅读