Angular JS Refresh Pager指令

时间:2015-12-13 09:56:58

标签: angularjs asynchronous angularjs-directive controller pager

我有寻呼机指令,它取决于在控制器中接收异步的数据。由于寻呼机需要知道总计数以正确渲染页面,我想隐藏整个寻呼机,直到下载异步数据,然后显示它(但在显示之前,运行链接功能以设置寻呼机信息)以及数据。

这怎么可能?

(function () {
'use strict';

angular
    .module('App.widgets')
    .directive('customPager', customPager);

function customPager() {
    var pager = {
        scope: {
            pageIndex: '=',
            pageSize: '=',
            recordCount: '=',
            pageClick: '&onPageClick'
        },
        replace: true,
        restrict: 'E',
        templateUrl: 'custom-pager.html',
        link: link
    }

    return pager;

    function link(scope) {
        ....
    }
}})();

2 个答案:

答案 0 :(得分:0)

我希望这可以帮到你;)

<!DOCTYPE html>
<html ng-app="testApp">
<head>
    <title>My ParseApp site</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <script src="/Scripts/angular.js"></script>
</head>
<body>

    <refresh></refresh>

    <script>
        angular.module("testApp", [])
            .directive("refresh", function () {
                return {
                    restrict: "E",
                    template: "<button ng-click=\"refreshPage()\">Refresh this page</button>",
                    link: function (scope, elem) {
                        scope.refreshPage = function () {
                            location.reload();
                        }
                    }
                };
            });

    </script>
</body>
</html>

答案 1 :(得分:0)

首先,在模板'custom-pager.html'中,设置ng-showng-hide属性以隐藏模板的内容。

其次,您需要翻转节目或隐藏变量。您可以通过几种不同的方式使其可见。如果您正在缓存服务中的$ http请求,则可以在指令中再次调用它并等待承诺触发。

或者,您的服务或控制人员可以在完成请求时广播事件(请查看$emit