"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا استخدام بناء جملة \"وحدة التحكم كـ\" في AngularJS؟

لماذا استخدام بناء جملة \"وحدة التحكم كـ\" في AngularJS؟

تم النشر بتاريخ 2024-11-19
تصفح:941

Why Use \

فهم بناء جملة "وحدة التحكم كـ" لـ AngularJS

مقدمة

قدمت AngularJS بناء جملة جديدًا لتعريف وحدات التحكم، "وحدة التحكم كـ"، مما أثار بعض الاهتمام أسئلة حول الغرض منه. تهدف هذه المقالة إلى توضيح الأساس المنطقي وراء بناء الجملة هذا وفوائده.

وحدة التحكم كتركيب

يسمح لك بناء جملة "وحدة التحكم كـ" بإنشاء وحدة تحكم وتعيينها لمتغير في الوضع الحالي نِطَاق. على سبيل المثال:

controller('InvoiceController as invoice')

يخبر هذا الرمز Angular بإنشاء مثيل لـ InvoiceController وتخزينه في متغير الفاتورة ضمن النطاق الحالي.

إزالة $scope من وحدة التحكم

أحد الاختلافات الملحوظة في بناء جملة "وحدة التحكم كـ" هو أنه يلغي المعلمة $scope من تعريف وحدة التحكم. وهذا يسمح بوحدات تحكم أكثر وضوحًا وإيجازًا:

// With $scope
function InvoiceController($scope) {
  // Do something with $scope.qty
}

// With controller as
function InvoiceController() {
  // Do something with this.qty
}

تعيين أسماء مستعارة في العرض

بينما تؤدي إزالة $scope من وحدة التحكم إلى تبسيط التعليمات البرمجية، إلا أنها تتطلب منك تحديد اسم مستعار في العرض:

// With $scope


// With controller as

أغراض وحدة التحكم كتركيب

تم تقديم بناء جملة "وحدة التحكم كـ" بشكل أساسي لهذه الأسباب:

  • إزالة $scope: يفضل بعض المطورين تجنب بناء جملة $scope، معتقدين أنه يحجب مصدر الخصائص.
  • وضوح أصل الخاصية: باستخدام الأسماء المستعارة في العرض، يصبح من الواضح أي الخصائص تنتمي إلى أي وحدة تحكم. يعد هذا مفيدًا بشكل خاص عند تداخل وحدات التحكم.
  • تجنب مشكلات قاعدة النقطة: يساعد بناء جملة "وحدة التحكم كـ" على تجنب المشكلات المتعلقة بـ "قاعدة النقطة" الخاصة بـ AngularJS، والتي قد تجعل من الصعب الوصول إلى الخصائص. من وحدات التحكم الأم. فهو يسمح بوصول واضح وهرمي إلى خصائص وحدة التحكم.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3