Javascript 如何在保存和加载用户筛选器时绕过有状态筛选器

Javascript 如何在保存和加载用户筛选器时绕过有状态筛选器,javascript,angularjs,angularjs-ng-repeat,angular-filters,Javascript,Angularjs,Angularjs Ng Repeat,Angular Filters,我有一个记录列表,通过从下拉列表中选择一个数字来限制显示的记录数。当用户更改下拉列表时,过滤器工作正常 $scope.recordNumbers = [ "10", "50", "100", "500", "1000", "10000" ]; $scope.filterGroup.selectedRecordNumber = "10" <div data-ng-repeat="item in items | limitTo:filterGroup.s

我有一个记录列表,通过从下拉列表中选择一个数字来限制显示的记录数。当用户更改下拉列表时,过滤器工作正常

  $scope.recordNumbers = [
        "10", "50", "100", "500", "1000", "10000"
    ];

    $scope.filterGroup.selectedRecordNumber = "10"

<div data-ng-repeat="item in items | limitTo:filterGroup.selectedRecordNumber track by item.Id">
{{item.Id}}
</div>
$scope.recordNumbers=[
"10", "50", "100", "500", "1000", "10000"
];
$scope.filterGroup.selectedRecordNumber=“10”
{{item.Id}
但是,用户可以保存和加载过滤器。当我加载筛选器并更改控制器中的$scope.filterGroup.selectedRecordNumber时,下拉值会更改,但不会执行记录上的筛选器


我看过一些文章指出要创建有状态过滤器来解决这个问题,但由于性能问题,不推荐使用它们。还有其他解决办法吗?可能会从控制器触发下拉列表的onchanged事件,但我不确定如果没有用户对下拉列表的交互,我将如何执行此操作。

如何加载筛选器?当收到响应时,会进行http调用$scope.filterGroup.selectedRecordNumber设置为该值。如果一切正常,就是在控制器中设置$scope.filterGroup.selectedRecordNumber时没有过滤记录。您应该发布该代码,变量可能会被覆盖,或者在异步中设置不正确,等等。变量设置正确$scope.RecordNumber也显示为页面其他位置的下拉列表。使用$scope.filterGroup.selectedRecordNumber作为模型。加载筛选器时,下拉列表中的选定项会更改,但记录本身不会被筛选。这是因为默认情况下,过滤器仅在其输入发生更改时执行。我正在寻找一个解决办法