يدعم AngularJS مفهوم "فصل المخاوف" في الهندسة المعمارية باستخدام الخدمات. الخدمة هي وظيفة JavaScript وهي مسؤولة عن القيام بمهمة واحدة محددة فقط. هذا يجعلهم أيضًا كيانًا منفصلًا يتم الحفاظ عليه واختباره. وحدات التحكم ، يمكن للمرشحات أن تسميها كأساس للمتطلبات. تستخدم الخدمة آلية حقن التبعية في AngularJS لحقنها بشكل طبيعي.
يوفر AngularJS العديد من الخدمات الجوهرية ، مثل: $ http ، $ route ، $ window ، $ location ، إلخ يتم استخدام Route $ لتحديد معلومات التوجيه ، إلخ
هناك طريقتان لإنشاء خدمة.
مصنع
يخدم
باستخدام طرق المصنع
باستخدام طريقة المصنع ، نقوم أولاً بتحديد المصنع ثم نخصص الطريقة لها.
var mainapp = Angular.module ("mainapp" ، []) ؛ mainapp.factory ('MathService' ، function () {var factory = {} ؛ factory.multiply = function (a ، b) {return a * b} return factory ؛}) ؛كيفية استخدام الخدمة
باستخدام طريقة الخدمة ، نحدد الخدمة ثم نخصص الطريقة. كما حقن الخدمات المتوفرة بالفعل.
mainapp.service ('calcservice' ، function (mathservice) {this.square = function (a) {return mathservice.multiply (a ، a) ؛}}) ؛مثال
ستظهر الأمثلة التالية جميع الإرشادات المذكورة أعلاه.
testangularjs.html
<html> <head> <title> نماذج js الزاوية </title> </head> <body> <h2> تطبيق عينة AngularJS </h2> <div ng-app = "mainapp" ng-click = "square ()"> x <sup> 2 </sup> </button> <p> النتيجة: {{result}} </p> </fire> <script src = "http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min angular.module ("mainapp" ، []) ؛ mainapp.factory ('MathService' ، function () {var factory = {} ؛ factory.multiply = function (a ، b) {return a * b} return factory ؛}) ؛ mainapp.service ('calcservice' ، function (mathservice) {this.square = function (a) {return mathservice.multiply (a ، a) ؛}}) ؛ mainapp.controller ('calccontroller' ، function ($ scope ، calcservice) {$ scope.square = function () {$ scope.result = calcservice.square ($ scope.number) ؛}}) ؛ </script> </body> </html>نتيجة
افتح textangularjs.html في متصفح الويب. النتائج كما يلي.
ما سبق هو المعلومات الأساسية لخدمات AngularJS. سنستمر في تنظيم المعلومات ذات الصلة في المستقبل. شكرا لك على دعمك لهذا الموقع!