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請求,你可以在你的指令中再次調用它,並等待這個承諾啓動。

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