حقن التبعية هو نمط لتصميم البرمجيات في مكون يحل محل ترميز تبعياتها داخل مكون صلب. هذا يقلل من المكون من وضع التبعيات ، وتكوين التبعية. هذا يساعد على جعل المكونات قابلة لإعادة الاستخدام ، والمحافظة عليها واختبارها.
يوفر AngularJS آلية حقن التبعية العليا. يوفر مكونًا أساسيًا قابلاً للحقن يعتمد على بعضها البعض.
قيمة
مصنع
يخدم
مزود
دائماً
قيمة
القيم هي كائنات JavaScript بسيطة تستخدم لتمرير القيم أثناء وحدات التحكم في مرحلة التكوين.
. {$ scope.number = defaultInpt ؛مصنع
يستخدم المصنع لإرجاع قيمة الوظيفة. يخلق قيمة وفقًا للطلب ، كلما احتاجت الخدمة أو وحدة التحكم فيها. عادة ما يستخدم وظيفة المصنع لحساب القيمة المقابلة وإرجاعها
// تحديد minulevar mainapp = Angular.module ("mainapp" ، []) ؛ // إنشاء مصنع "خدمة الرياضيات" التي توفر طريقة مضاعفة لإرجاع اثنين من الرقمين mainapp.factory ('mathservice' ، function () {var factory = {} ؛ factory.multiply = function (a ، b) // حقن المصنع "Mathservice" في خدمة لاستخدام طريقة Multiply لـ Factory.mainapp.Service ('calcservice' ، function (mathservice) {this.square = function (a) {return mathservice.multiply (a ، a) ؛}}) ؛ ... ...يخدم
الخدمة هي JavaScript واحدة تحتوي على مجموعة من كائنات الوظائف لأداء مهام معينة. تستخدم الخدمة وظيفة Service () وحقن في تعريف وحدة التحكم.
// تحديد modulevar mainapp = Angular.module ("mainapp" ، []) ؛ ... // إنشاء خدمة تحدد طريقة مربع لإرجاع مربع رقم. mainapp.service ('calcservice' ، function (mathservice) controllermainapp.controller ('calccontroller' ، الوظيفة (نطاق $ ، calcservice ، defaultInput) {$ scope.number = defaultInput ؛ $ scope.result = calcservice.square ($ scope.number) ؛ $ scope.square = funct () {$ scope.Result = calcservice.مزود
يستخدم الموفر الخدمة ، المصنع ، إلخ. خلال مرحلة التكوين لعملية الإنشاء الداخلية AngularJS (كما أثناء التمهيد AngularJS نفسه). يمكن استخدام البرامج النصية المذكورة أدناه لإنشاء ، لقد أنشأنا خدمات الرياضيات مقدمًا. المزود هو طريقة مصنع خاصة وطريقة الحصول على () لإرجاع القيمة/الخدمة/المصنع.
// تحديد modulevar mainapp = Angular.module ("mainapp" ، []) ؛ ... // إنشاء خدمة باستخدام موفر يحدد مربع الطريقة لإرجاع رقم number.mainapp.config (function ($ sevel) {Return A * B ؛ثابت
تُستخدم الثوابت للنظر في الحقائق عن طريق تكوين قيم الطور ، ولا يمكن تمرير القيم أثناء مرحلة التكوين.
mainapp.constant ("conferenceparam" ، "قيمة ثابتة") ؛
مثال
ستظهر الأمثلة التالية جميع الإرشادات المذكورة أعلاه.
testangularjs.html
<html> <head> <title> angularjs حقن التبعية </title> </head> <body> <h2> تطبيق عينة AngularJS </h2> <div ng-app = "mainapp" ng-controller = "calccontroller"> <p> 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.config (function ($ sevel) {$ prov.provider ('MathService' ، function () {this. $ get = function () {var factory = {} ؛ factory.multiply = function (a ، b) {return a * b ؛} factory ؛} ؛} ؛}) ؛}) ؛ }) ؛ MainApp.value ("DefaultInput" ، 5) ؛ 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 ، defaultInput) {$ scope.number = defaultInput ؛ $ scope.result = calcservice.square ($ scope.number) ؛ $ spect.square = function () {$ scope.result = calcservice.square ($) ؛ </script> </body> </html>نتيجة
افتح textangularjs.html في متصفح الويب. النتائج كما يلي.
ما سبق هو جمع المعلومات لحقن التبعية AngularJS. سنستمر في إضافة المعلومات ذات الصلة في المستقبل. شكرا لك على دعمك لهذا الموقع!