AngularJS电子商务过滤器订购

AngularJS电子商务过滤器订购,angularjs,e-commerce,Angularjs,E Commerce,我正在开发一个使用AngularJS构建的电子商务网站。该站点从JSON文件获取产品数据,以填充所有内容,包括类别页面上的过滤器 请参见下面使用虚拟数据的示例 BRAND Brand A Brand B Brand C Brand D COLOUR Red Green Purple Yellow FLOWERING TIME 8 weeks 10 weeks 7 weeks 9 weeks 我们试图做的是按字母顺序排列每个过滤器,但是如果我使用Angular的orderBy按品牌排列结果,

我正在开发一个使用AngularJS构建的电子商务网站。该站点从JSON文件获取产品数据,以填充所有内容,包括类别页面上的过滤器

请参见下面使用虚拟数据的示例

BRAND
Brand A
Brand B
Brand C
Brand D

COLOUR
Red
Green
Purple
Yellow

FLOWERING TIME
8 weeks
10 weeks
7 weeks
9 weeks
我们试图做的是按字母顺序排列每个过滤器,但是如果我使用Angular的orderBy按品牌排列结果,它实际上是按品牌排列产品本身,因此品牌A的产品也总是出现在其他过滤器中品牌B的产品之上

假设P1为品牌A,颜色为黄色,P2为品牌B,颜色为红色。然后,品牌的过滤器列表将正确排序,品牌A后接品牌B,但颜色的过滤器列表将错误,黄色在红色之上,因为品牌A始终位于顶部

问题是订购是由产品完成的,而不是输出的实际匹配结果

希望这是有意义的,如果有人能帮助解决这个问题,我们将不胜感激

编辑:添加代码

这是通过不同类型的过滤器循环的代码,然后通过产品获得匹配的过滤器标准

<section data-ng-repeat="(filter, array) in filters" class="widget widget-filter-multiselect" data-ng-class="{ long: array.length > 9 }">
    <h3 class="widget-title">{{ filter }}</h3>
    <div class="search-filter" data-ng-show="array.length > 9">
        <input placeholder="Search {{ filter }}..." type="text" data-ng-model="search"/>
    </div>
    <!-- /.search-filter -->
    <ul class="checklist">
        <li data-ng-repeat="item in array | filter: search">
            <a data-ng-class="{ active: checkActive(filter, item) }" data-ng-click="toggleFilter(filter, item); buildPath()">
                <i class="unchecked fa fa-square-o"></i>
                <i class="checked fa fa-check-square"></i>
                <span data-ng-bind-html="item | highlightfilter:search"></span>
            </a>
        </li>
    </ul>
</section>

控制器是一个绝对的庞然大物,所以我不确定要把它的哪些部分放在这里?

如果没有至少一些模拟数据和/或代码,很难看到它。您是否有任何代码可以很容易地模仿出来,以便更容易理解正在发生的事情?您能给我们一个代码示例吗?添加代码很困难,因为代码太多了。我已经从模板文件中添加了代码,但是控制器是一堆函数,所以不确定哪些位有用?这将有助于发布项目本身的JSON。如果问题是这样的,您可能可以使用自定义过滤器从字段中删除名称