当AngularJS即将发生过滤器时,我需要显示一些“正在加载消息”。我的过滤器很快,所以我不能在返回过滤后的数据之前显示它。我的代码:
F
在返回此数据之前,我该怎么做才能显示一些消息,div,等等?
答案 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的位置。