angularjs如何在转发器过滤时显示进度条

时间:2016-02-04 12:42:03

标签: angularjs filter progress-bar repeater

我有一个由ng-repeater创建的相当大的表,我一直试图在过滤时为它创建一个线性的进度,但我似乎无法正确获得该指令。 HTML

<div id="myProgress" ng-show="angularIsWorking">
        <md-progress-linear md-mode="indeterminate"></md-progress-linear>
    </div>

        <tr ng-repeat="msg in (filteredItems = (midList | orderBy:sortType:sortReverse | filter: searchFilter | filter: searchByText | limitTo: intMaxMsgs))" ng-class-odd="'trMessagesBlue'" ng-class-even="'trMessagesBright'" my-repeat-directive>

angularjs

myapp.directive('myRepeatDirective', function($timeout) {
    return {
        link: function(scope, elem, attrs) {
            if (scope.$first) {
                $timeout(function() {
                    scope.angularIsWorking = true;
                }, 0)
            }
            else (scope.$last) {
                $timeout(function() {
                    scope.angularIsWorking = false;
                }, 0)
            }
        }
    }
});

我的指令在正确的时间运行,但问题是我无法访问我的完整范围,因为它在转发器中,我只通过了项目数据,我的范围内没有其他变量可以&#t; t从这个指令控制。

我尝试通过指令附加myProgressBar,但之后它不起作用,所以它在加载时需要在页面上。

我希望我做错了很多,请帮忙,因为我似乎无法找到一个在转发器过滤时有效的示例。切换路线时,其他所有人都会显示进度。

我也注意到这会减慢我的过滤速度,所以也许我不应该制作这个功能,我只是想要一个指示器,同时延迟将更多的msgs加载到我的表中

谢谢

0 个答案:

没有答案