0

我有寻呼机指令,它依赖于在控制器中接收到的异步数据。由于寻呼机需要知道总数才能正确呈现页面,我想隐藏整个寻呼机,直到下载异步数据,然后显示它(但在显示之前,运行链接功能以设置寻呼机信息)以及数据。Angular JS Refresh 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) { 
     .... 
    } 
}})(); 
+0

您使用的服务来获取你的数据的请求(退房$emit),当广播一个事件? – Jorg

+0

正确,从控制器调用服务中获取数据 – zhuber

回答

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>

+0

对不起,男人,这不起作用... – zhuber

+0

也许这会帮助你[Angularjs - 隐藏内容,直到DOM加载](http://stackoverflow.com/questions/18133319/angularjs-隐藏内容 - 直到-DOM加载) – Maher

0

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

其次,您需要翻转显示或隐藏变量。您可以通过几种不同的方式使其可见。如果你在你的服务中缓存$ http请求,你可以在你的指令中再次调用它,并等待这个承诺启动。

或者,您的服务或控制器可完成