1. مرحلة البدء
يجب أن يعلم الجميع أنه عندما يقوم المتصفح بتحميل صفحة HTML ، فسيقوم أولاً بتحليل صفحة HMTL في شجرة DOM ، ثم قم بتحميل كل عقدة عنصر في DOM Tree One تلو الآخر. يمكننا التعامل مع AngularJS كمكتبة JS مماثلة ل jQuery. نقدمه في HTML من خلال علامة <script>. في هذا الوقت ، ستكون Angular عقدة DOM عادية تنتظر تحليل المتصفح. عندما يقوم المتصفح بتوزيع هذه العقدة ويجد أنها ملف JS ، سيتوقف المتصفح عن تحليل عقد DOM المتبقية ويبدأ في تنفيذ هذا JS (أي Angular.js). في الوقت نفسه ، ستقوم Angular بإعداد مستمع حدث للاستماع إلى حدث DomContentenced الذي تم تحميله. عندما يستمع Angular إلى هذا الحدث ، سيتم بدء تطبيق الزاوي.
2. مرحلة التهيئة
بعد البدء الزاوي ، يبحث عن توجيه NG-APP ، ثم يهيئ سلسلة من المكونات اللازمة (أي $ enjector ، وخدمة التجميع $ ، و $ rootscope) ، ثم تبدأ في تحليل شجرة DOM مرة أخرى.
3. ترجمة ورابط
تجد خدمة التجميع $ عناصر DOM مع تعليمات معلنة عن طريق اجتياز شجرة DOM. عند مواجهة عنصر DOM مع تعليمات واحدة أو أكثر ، يقوم بفرز التعليمات (استنادًا إلى أولوية التعليمات) ثم يستخدم خدمة $ enjuptor للعثور على وظيفة الترجمة من التعليمات وتنفيذها.
بعد تشغيل طريقة تجميع كل عقدة ، ستستدعي خدمة التجميع $ وظيفة الارتباط. تضع وظيفة الارتباط هذه المراقبة للتعليمات المرتبطة بنطاق مغلق. هذا السلوك يخلق وجهة نظر حية.
أخيرًا ، بعد اكتمال خدمة التجميع $ ، يكون وقت تشغيل AngularJS جاهزًا.
4. مرحلة العملية
يوفر Angular حلقة الحدث الخاصة به. تسجل التعليمات نفسها مستمع الحدث ، لذلك عندما يتم تشغيل الحدث ، سيتم تشغيل وظيفة التعليمات في حلقة $ Digest of AngularJS. ستنتظر حلقة $ Digest قائمة تعبير Watch $. عند اكتشاف تغييرات النموذج ، سيتم استدعاء وظيفة ساعة $ ، ثم يتم عرض قائمة مراقبة $ مرة أخرى للتأكد من عدم تغيير أي نموذج.
بمجرد استقرار حلقة $ Digest ولا يتم اكتشاف أي تغييرات محتملة ، تترك عملية التنفيذ السياق الزاوي وعادة ما تعود إلى المتصفح ، وسيتم تقديم DOM هنا.
ارسم الخطوات الرئيسية للعملية أعلاه إلى رسم بياني ، على النحو التالي:
ما سبق هو مقدمة مفصلة لعملية تنفيذ AngularJS. سنستمر في تنظيم المعلومات ذات الصلة في المستقبل. شكرا لك على دعمك لهذا الموقع.