2017-05-25 56 views
-1

我想說明一個DOM從工廠微調圖像的DOM,我使用jQuery嘗試,$ rootScope展現DOM沒有成功,如何顯示從角工廠

下面是我的工廠代碼,

.factory('api', function($q, $http, $state, $timeout, $rootScope, $window) { 
    var request = function(callback, timeout) { 
     var deferred = $q.defer(); 

     $timeout(function() { 
     deferred.resolve(null); 
     }, typeof timeout !== 'undefined' ? timeout : 800); 

     callback(deferred); 

     return deferred.promise; 
    }; 

    return { 
     postData: postData 
    }; 

    function postData(data) { 
     var $ = angular.element; 
     $.sg= true; 
     return $http.post('/a/', data).then(function(response) { 
      $timeout(function() {window.location.href = "/bdc";}, 10000) 
     } 
     }) 
    } 
    }) 
+0

我仍然在等待之前在你的問題的迴應:https://stackoverflow.com/questions/44085782/show-image- md-select-md-options-on-hover-in-angularjs-1-6 ..你能否在我的回答中提供一些反饋?我解決了這個問題中的問題,並花了我1個多小時。如果你能提供一些反饋意見,這將是很高興的 – lin

回答

0

我覺得你的目的是要顯示spinner在應用程序中的所有HTTP請求。我使用的是angular-block-ui模塊。

http://angular-block-ui.nullest.com/#!/examples/documentation

而且它不是一個好主意,訪問來自工廠的一些DOM元素。工廠是爲做一些可重用代碼,可以注入到你的控制器,指令等

自動禁止

默認情況下,BlockUI模塊將啓動一個塊每當角 $ http服務有待處理的請求。如果您不想要這種行爲 並且想要手動執行所有阻止,則可以將此值更改爲 false。

// Disable automatically blocking of the user interface 
blockUIConfig.autoBlock = false; 

利用在block-uirequestFilter選項來過濾你的要求,如果你不想表現出來的所有請求。

如果您選擇手動阻止,請使用start()stop()方法顯示和隱藏阻止。

<div block-ui="myBlockUI"> 
    <p> ... I'm blockable ... </p> 
</div> 

block-ui指令有一個可選的值,它可以被用來 獲得相關blockUI服務的實例。

// Get the reference to the block service. 
var myBlockUI = blockUI.instances.get('myBlockUI'); 

// Start blocking the element. 
myBlockUI.start(); 

$timeout(function() { 
    // Stop the block after some async operation. 
    myBlockUI.stop(); 
}, 1000); 

以上阻塞預計將完成從控制器不是來自工廠。

手冊阻斷例如:http://plnkr.co/edit/qflWqd?p=preview

自動阻止例如:http://embed.plnkr.co/NqyunD/

+0

在這種情況下,我可以在bdc url的解析中使用微調來檢查響應是否完成,糾正我,如果我錯了 – Ven

+0

請參閱此http:// plnkr.co/edit/qflWqd?p=preview – Sreekumar