我在IE11上的Angular Material应用程序遇到了一些性能问题,并且一直在调查多个问题。我已根据官方建议采取了一些措施来纠正,但我注意到我认为会导致很多问题。
我们有一个产品页面,其中包含一组标签,可根据当前选定的类别显示/隐藏产品。单击选项卡时发生最大量的延迟。我认为这是因为我们应用的过滤器会在每次单击选项卡时销毁/重新创建DOM。我想使用ng-show
,因为这似乎可以解决问题,但我们正在使用嵌套的ng-repeat
指令,因此我不确定这是否有效。以下是对正在发生的事情的总体看法:
<div ng-repeat="InventoryItemSubCategory in vmProduct.products | filter: ($scope.selectedGroup !== 'All' || '') && $scope.selectedGroup | filter:$scope.query | groupBy:'InventoryItemSubCategory':'productsByCategory' track by $index">
<h2>{{InventoryItemSubCategory.InventoryItemSubCategory}}</h2>
<md-card class="product-card" ng-repeat="product in InventoryItemSubCategory.items track by $index" md-theme="default" md-theme-watch>
<md-card-content>
<div class="media">
...
这个想法是每个标签(组)有多个子组,每个子组都有多个项目。问题是,如果我尝试在顶级ng-show
上使用ng-repeat
,它不像过滤器那样过滤数组,因此内部ng-repeat
元素无法正确显示。 / p>
所以我的问题是,这确实是我遇到的问题吗?如果是这样,是否有一种干净的方式来使用ng-show
但是也可以过滤父数组,以便孩子ng-repeat
能够正确使用它?
提前致谢!