यहाँ एक सरल तरीका है कि मेरी जरूरतों के लिए काम किया है। आपकी कार्यवाही के आधार पर, आप तत्व को setDelay()
फ़ंक्शन करेंगे। उदाहरण के लिए, मेरे मामले में मैंने एक चयनित इनपुट में setDelay()
बांध दिया।
उत्प्रेरक HTML:
<select class="first-option"
ng-change="setDelay()"
ng-options="o.label for o in download.options"
ng-model="optionModel" required>
</select>
अपने नियंत्रक में, एक साधारण समारोह setDelay
कि झंडा $scope.delay
बदल जाएगा जोड़ें:
$scope.setDelay = function(){
$scope.delay = true;
$timeout(function(){
$scope.delay = false;
}, 200);
};
फिर, आप बस ng- में एक ध्वज के रूप में उपयोग कर सकते हैं $scope.delay
शो:
<div class="loading-div" ng-show="delay">
<img src="loading_spinner.gif">
</div>
और सामग्री को दिखाएं Ter किया लोड हो रहा है:
<div ng-show="!delay">
Content is loaded.
</div>
अब, हर बार उपयोगकर्ता लटकती मेनू में एक नया मान का चयन करता है, यह $scope.delay
ट्रिगर किया जाएगा स्पिनर को दिखाने के लिए पैदा कर रहा true
लिए सेट किया जा करने के लिए, और जब यह 200
तक पहुँच जाता है, यह हो जाएगा स्पिनर को छिपाने के कारण false
पर सेट करें।
क्या आपने पहले से ही दस्तावेज़ों में एक नज़र डाली थी? [लिंक] (https://docs.angularjs.org/api/ng/directive/ngShow) नीचे स्क्रॉल करें और आप संक्रमण के साथ एक नमूना देखेंगे और एनजी-शो – graphefruit
आप वास्तव में यहां क्या हासिल करना चाहते हैं? आप देरी करना चाहते हैं ताकि तेजी से संचालन के लिए यह * झपकी * चालू और बंद न हो, लेकिन लंबे संचालन के लिए यह दिखाता है? बस एक सामान्य उद्देश्य लोडिंग सूचक? – Josh