AngularJS:在ng-show

时间:2015-07-06 08:18:32

标签: angularjs angularjs-directive

我希望能够定义我的网页的一部分只能根据指令的结果(只返回true或false)来查看。

<div ng-show="?">... /<div>

//Determines if anything is being loaded
app.directive('isloading', function ($http) {
    return {
        restrict: 'AE',
        link: function (scope, element, attr) {
            scope.isLoading = function () {
                if ($http.pendingRequests.length > 0) {
                    return true;
                } else {
                    return false;
                }
            };
        }
    };
});

我知道这可以通过使用单独的服务来完成,但有一种直接的方式我可以这样做吗?

更新

通过在加载某些内容时基本上创建我自己的ng-show指令来实现此目的。我相信它可以更精致,但这是我目前的解决方案 -

app.directive('isloading', function ($http) {
    return {
        replace: true,
        restrict: 'A',
        link: function (scope, element, attr) {
            scope.$watch(function () {
                if ($http.pendingRequests.length > 0) {
                    element.css('display', 'none');
                } else {
                    element.css('display', '');
                }
            });
        }
    };
});

0 个答案:

没有答案