एंजुलरजेएस सर्विस
- पिछला पृष्ठ एंजुलरजेएस फिल्टर
- अगला पृष्ठ एंजुलरजेएस एचटीटीपी
एंगुलरजेस में, आप अपनी अपनी सेवा को बना सकते हैं या कई बिल्ट-इन सेवाओं में से एक का उपयोग कर सकते हैं。
क्या सेवा है?
एंगुलरजेस में, सेवा फ़ंक्शन या ऑब्जैक्ट हैं जो आपके एंगुलरजेस एप्लिकेशन के लिए उपयोग किए जा सकते हैं और केवल उसी के लिए ही उपयोग किए जा सकते हैं。
एंगुलरजेस में लगभग 30 बिल्ट-इन सेवाएँ हैं। इनमें से एक है $location
सेवा。
$location
सेवा के तरीके हैं जो वर्तमान वेब पृष्ठ की स्थिति के बारे में जानकारी प्रदान करते हैं:
उदाहरण
नियंत्रक में $location सेवा का उपयोग करना:
var app = angular.module('myApp', []); app.controller('customersCtrl', function($scope, $location) { $scope.myUrl = $location.absUrl(); });
ध्यान दें कि$location
सेवा को नियंत्रक में पारामीटर के रूप में पास किया जाता है। सेवा को नियंत्रक में उपयोग करने के लिए, इसे निर्भरता के रूप में वर्णित करना आवश्यक है。
क्यों सेवा का उपयोग करें?
कई सेवाओं के लिए जैसे $location
सेवा, आप लगभग डॉम में पहले से ही मौजूदा ऑब्जैक्ट (जैसे window.location ऑब्जैक्ट),लेकिन यह कुछ सीमाएँ होंगी, कम से कम आपके एंगुलरजेस एप्लिकेशन के लिए ऐसा है।
एंगुलरजेस लगातार आपके एप्लिकेशन की निगरानी करता है, ताकि यह सही तरीके से परिवर्तनों और घटनाओं को संसाधित कर सके, एंगुलरजेस आपको $location उपयोग करना पसंद करता है $location
सेवा नहीं कि window.location ऑब्जैक्ट के लिए。
$http सेवा
$http
सेवा एंगुलरजेस एप्लिकेशन में सबसे अधिक प्रयोग होने वाली सेवाओं में से एक है। यह सेवा सर्वर को अनुरोध करती है और आपके एप्लिकेशन को प्रतिक्रिया को संसाधित करने देती है。
उदाहरण
सर्वर से डाटा अनुरोध करने के लिए $http सेवा का उपयोग करें:
var app = angular.module('myApp', []); app.controller('myCtrl', function($scope, $http) { $http.get("welcome.htm").then(function (response) { $scope.myWelcome = response.data; }); });
यह उदाहरण दिखाता है कि: $http
सेवा का बहुत ही सरल प्रयोग है। एंजुलरजेसी एचटीटीपी सेवा के बारे में अधिक जानकारी के लिए एंजुलरजेसी एचटीटीपी ट्यूटोरियल में देखें।
$timeout सेवा
$timeout
सेवा एंजुलरजेसी की संस्करण है: window.setTimeout
तत्काल फ़ंक्शन
उदाहरण
दो सेकंड बाद नई संदेश दिखाएं:
var app = angular.module('myApp', []); app.controller('myCtrl', function($scope, $timeout) { $scope.myHeader = "Hello World!"; $timeout(function () { $scope.myHeader = "How are you today?"; }, 2000); });
$interval सेवा
$interval
सेवा एंजुलरजेसी की संस्करण है: window.setInterval
तत्काल फ़ंक्शन
उदाहरण
नाम:
var app = angular.module('myApp', []); app.controller('myCtrl', function($scope, $interval) { $scope.theTime = new Date().toLocaleTimeString(); $interval(function () { $scope.theTime = new Date().toLocaleTimeString(); }, 1000); });
अपनी सेवा बनाएं
अपनी सेवा को बनाने के लिए, सेवा को मॉड्यूल से जोड़ें:
नाम की hexafy
सेवा:
app.service('hexafy', function() { this.myFunc = function (x) { return x.toString(16); } });
अपनी मनपसंद सेवा का इस्तेमाल करने के लिए, नियंत्रक के परिभाषण में इसे आश्रय दें:
उदाहरण
इस नाम के विशिष्ट सेवा के द्वारा संख्या को सोनापन करने के लिए इस्तेमाल करें:
app.controller('myCtrl', function($scope, hexafy) { $scope.hex = hexafy.myFunc(255); });
फिल्टर में कस्टम सेवा का उपयोग करना
सेवा को बनाए जाने और इसे अपने अनुप्रयोग से जोड़े जाने के बाद, आप किसी भी कंट्रोलर, इन्स्ट्रक्शन, फिल्टर या यहां तक कि अन्य सेवाओं में इस सेवा का उपयोग कर सकते हैं。
सेवा का उपयोग करने के लिए, फिल्टर के परिभाषण के समय इसे रिलेइशन के रूप में जोड़ें:
फिल्टर myFormat में इस्तेमाल की गई सेवा hexafy:
app.filter('myFormat',['hexafy', function(hexafy) { return function(x) { return hexafy.myFunc(x); }; });
आप दिखाए गए ऑब्जैक्ट या एक्सट्रीम लिस्ट में कीमत को दिखाते समय इस फिल्टर का उपयोग कर सकते हैं:
<ul> <li ng-repeat="x in counts">{{x | myFormat}}</li> </ul>
- पिछला पृष्ठ एंजुलरजेएस फिल्टर
- अगला पृष्ठ एंजुलरजेएस एचटीटीपी