ఏంజులర్ జి సర్వీసెస్
- ముంది పేజీ ఏంజులర్ జి ఫిల్టర్స్
- తదుపరి పేజీ ఏంజులర్ జి హెచ్టీపి
అంగురాల్ జిఎస్ లో, మీరు స్వంతంగా సేవలను సృష్టించవచ్చు లేదా అనేక అంతర్గత సేవలలో ఒకటిని ఉపయోగించవచ్చు.
ఏమి సేవలు?
అంగురాల్ జిఎస్ లో, సేవలు ఫంక్షన్లు లేదా ఆబ్జెక్టులు ఉన్నాయి మరియు మాత్రమే మీ అంగురాల్ జిఎస్ అనువర్తనంలో ఉపయోగించబడతాయి.
అంగురాల్ జిఎస్ లో తిరిగి సేవలు ముప్పై ఉన్నాయి. వాటిలో ఒకటి ఉంది $location
సేవ
$location
సేవలు ప్రస్తుత పేజీ స్థానం గురించి సమాచారాన్ని తెలియజేసే పద్ధతులు కలిగి ఉంటాయి:
ఇన్స్టాన్స్
కంట్రోలర్లో $location సేవను వాడండి:
వారిలో ఒకటి అయిన మీయిలాప్ మోడ్యూల్ను ఉపయోగించి అనునాదను సృష్టించండి: app.controller('customersCtrl', function($scope, $location) { $scope.myUrl = $location.absUrl(); });
చూపించండి కావాలి పరిస్థితికి సంబంధించినది$location
సేవను కంట్రోలర్కు పారామీటర్లుగా పాస్ చేయడందున్నప్పుడు, కంట్రోలర్లో సేవను వాడడానికి దయచేసి దానిని డిపెండెన్సీగా నిర్వచించండి.
ఎందుకు సేవలను వాడాలి?
అనేక సేవలు వంటి $location
సేవలు, మీరు డామ్ (డాక్యుమెంట్ ఓబ్జెక్ట్ మ్యాపింగ్) లో ఉన్న అబ్జెక్ట్లను ఉపయోగించవచ్చు (ఉదాహరణకు window.location ఆబ్జెక్ట్), కానీ కొన్ని పరిమితులు ఉంటాయి, కనీసం మీ అంగురాల్ జిఎస్ అనువర్తనం కోసం అని ఉంటుంది.
అంగురాల్ జిఎస్ మీ అనువర్తనాన్ని పర్యవేక్షిస్తుంది, మరియు మార్పులు మరియు సంఘటనలను సరిగా నిర్వహించడానికి కారణంగా, అంగురాల్ జిఎస్ మీరు వాడండి ఇష్టపడుతుంది $location
సేవ వినా window.location ఆబ్జెక్ట్ వినియోగించండి.
$http సేవ
$http
సేవలు అంగురాల్ జిఎస్ అనువర్తనంలో అత్యంత వినియోగించే సేవలలో ఒకటి. ఈ సేవ సర్వర్కు అభ్యర్థనను పంపిస్తుంది మరియు మీ అనువర్తనం ప్రతిస్పందనను నిర్వహిస్తుంది.
ఇన్స్టాన్స్
సర్వర్ నుండి డాటా అందుకోవడానికి $http సేవను వాడండి:
వారిలో ఒకటి అయిన మీయిలాప్ మోడ్యూల్ను ఉపయోగించి అనునాదను సృష్టించండి: app.controller('myCtrl', function($scope, $http) { $http.get("welcome.htm").then(function (response) { $scope.myWelcome = response.data; }); });
ఈ ఉదాహరణ మరుగుదొడ్డను $http
చాలా సరళమైన ఉపయోగం. మరింత వివరాలకు అంగుళర్జ్స్ హెచ్చిప్ ట్యూటోరియల్లో చూడండి.
$timeout సేవ
$timeout
సేవ అంటే అంగుళర్జ్స్ సంస్కరణలోని window.setTimeout
ఫంక్షన్.
ఇన్స్టాన్స్
రెండు సెకన్ల తర్వాత కొత్త సందేశాన్ని చూపించండి:
వారిలో ఒకటి అయిన మీయిలాప్ మోడ్యూల్ను ఉపయోగించి అనునాదను సృష్టించండి: app.controller('myCtrl', function($scope, $timeout) { $scope.myHeader = "Hello World!"; $timeout(function () { $scope.myHeader = "How are you today?"; }, 2000); });
$interval సేవ
$interval
సేవ అంటే అంగుళర్జ్స్ సంస్కరణలోని window.setInterval
ఫంక్షన్.
ఇన్స్టాన్స్
ప్రతి నిమిషం సమయాన్ని చూపించండి:
వారిలో ఒకటి అయిన మీయిలాప్ మోడ్యూల్ను ఉపయోగించి అనునాదను సృష్టించండి: 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); });
在过滤器中使用自定义服务
创建服务并将其连接到您的应用程序后,您可以在任何控制器、指令、过滤器或甚至其他服务中使用该服务。
要在过滤器中使用服务,请在定义过滤器时将其添加为依赖项:
ఫిల్టర్ మైఫార్మాట్ వాడే సర్వీస్ హెక్సాఫై ఉపయోగిస్తుంది:
app.filter('myFormat',['hexafy', function(hexafy) { return function(x) { return hexafy.myFunc(x); }; });
మీరు ప్రదర్శించబడే ఆబ్జెక్ట్ లేదా అర్రే విలువలను ప్రదర్శించటం వద్ద ఈ ఫిల్టర్ వాడవచ్చు:
<ul> <li ng-repeat="x in counts">{{x | myFormat}}</li> </ul>
- ముంది పేజీ ఏంజులర్ జి ఫిల్టర్స్
- తదుపరి పేజీ ఏంజులర్ జి హెచ్టీపి