如何在使用AngularJS过滤之前显示加载消息?

时间:2016-10-17 19:51:46

标签: javascript angularjs angular-filters

当AngularJS即将发生过滤器时,我需要显示一些“正在加载消息”。我的过滤器很快,所以我不能在返回过滤后的数据之前显示它。我的代码:

F

在返回此数据之前,我该怎么做才能显示一些消息,div,等等?

1 个答案:

答案 0 :(得分:0)

你的HTML中的某个地方:

<p id="loadingMessage" ng-show="showMessage"></p>

过滤器:

.filter('filterName', function () {
    $scope.showMessage = true;

    $timeout(return function (pacotes, escopo) {
        var filtered = [];
        pacotes.forEach(function (pacote) {
            if (condition)
                filtered.push(pacote);
        });
        $scope.showMessage = false;
        return filtered;
    }, 3000);    
})

由于我没有您的所有代码,因此无法对此进行测试。但是假设我的语法正确,这样的事情应该可行。您必须在适当的位置注入$ scope和$ timeout,以便工作。

编辑:我刚刚意识到escopo可能意味着另一种语言的范围。假设这是真的并且你实际上是在传入范围,只需将escopo放在我有$ scope的位置。