021-20483015

سرویس های AngularJS

در AngularJS شما می توانید سرویس خود را داشته باشید و یا از چندین و چند سرویس از قبل ساخته شده استفاده کنید.

سرویس AngularJS چیست؟

در AngularJS ، سرویس یک متد یا شی است که در دسترس برنامه AngularJS قرار می گیرد و یا آن را محدود می کند.

AngularJS حدود سرویس از قبل ساخته شده دارد. یکی از آن ها سرویس location$ اصت.

سرویس location$ متد هایی را در خود دارد که اطلاعاتی را درباره صفحه وب جاری بر می گردانند:

در مثال زیر یک سرویس  location$ را در کنترلر استفاده می کنیم:

مثال سرویس ها در AngularJS
var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $location) {
    $scope.myUrl = $location.absUrl();
}); 
مشاهده مثال

یاد آوری کنیم که سرویس location$ به کنترلر بصورت آرگومان ارسال می گردد.

چرا از سرویس های AngularJS استفاده می کنیم ؟

برای بسیاری از سرویس ها منجمله location$ به نظر می رسد همانگونه که شما از شی windows.location هم اکنون در DOM استفاده می کنید ، می توانید از سرویس ها نیز استفاده کنید ، اما یک سری محدودیت هایی نیز وجود دارد. AngularJS بطور مداوم بر برنامه شما نظارت دارد ، و تغییرات و رویداد ها رو مدیریت می کند. AngularJS ترجیح میدهید شما از location& بجای شی windows.location استفاده کنید.

سرویس http$ در AngularJS

سرویس http$ یکی از متداول ترین سرویس های مورد استفاده در برنامه AngularJS است. این سرویس یک درخواست به سرور ارسال می کند و بر اساس آن پاسخی از سرور را دریافت میکند.

در مثال زیر http$ از سرور دیتاهای را درخواست می کند.

مثال سرویس ها در AngularJS
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http) {
    $http.get("welcome.htm").then(function (response) {
        $scope.myWelcome = response.data;
    });
}); 
مشاهده مثال

مثال فوق یکی از ساده ترین استفاده ها از سرویس http$ است. درباره http$ در درس http در AngularJS بیشتر خواهیم آموخت.

 

سرویس timeout$ در AngularJS

سرویس timeout$ ورژن AngularJS شده تابع window.timeout است.

مثال سرویس ها در AngularJS
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$ در AngularJS

سرویس interval$ ورژن AngularJS شده تابع window. setInterval است.

مثال سرویس ها در AngularJS
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $interval) {
    $scope.theTime = new Date().toLocaleTimeString();
    $interval(function () {
        $scope.theTime = new Date().toLocaleTimeString();
    }, 1000);
});
مشاهده مثال

سرویس AngularJS خود را بسازید

برای اینکه بتوانیم سرویس AngularJS خود را بسازیم باید سرویس را به module مرتبط کنیم:

app.service('hexafy', function() { this.myFunc = function (x) { return x.toString(16); } });

برای استفاده از سرویس سفارشی سازی شده، یک dependency  به زمان تعریف کنترلر ایجاد می کنیم :

مثال سرویس ها در AngularJS
app.controller('myCtrl', function($scope, hexafy) {
    $scope.hex = hexafy.myFunc(255);
});
مشاهده مثال

استفاده از سرویس سفارشی سازی شده درون فیلتر AngularJS

ابتدا شما یک سرویس ایجاد می کنید و به برنامه AngularJS متصل می شوید ، شما می توانید از این سرویس در هر کنترلر، دستورالعل و یا فیلتر و یا حتی سرویس دیگری که می خواهید استفاده کنید.

برای استفاده از سرویس درون فیلتر یک dependency زمان تعریف فیلتر ایجاد میکنید.

مثال سرویس ها در AngularJS
app.filter('myFormat',['hexafy', function(hexafy) {
    return function(x) {
        return hexafy.myFunc(x);
    };
}]);
مشاهده مثال

شما می توانید از فیلتر زمان نمایش مقادیری از یک شی  یا یک آرایه استفاده کنید :

مثال سرویس ها در AngularJS
<ul>
<li ng-repeat="x in counts">{{x | myFormat}}</li>
</ul>
مشاهده مثال

نظر شما

لطفا نام و نام خانوادگی خود را وارد کنید
لطفا ایمیل خود را وارد کنید لطفا ایمیل صحیح وارد کنید.
لطفا متن نظر خود را وارد کنید
>

مقالات و دروس

به خبرنامه مدرسه طراحی وب ایران (وب مهراز) بپیوندید.

لطفا شماره همراه صحیح وارد کنید.
لطفا ایمیل صحیح وارد کنید.

مقالات مرتبط