Angular-styleguide: وحدة تحكم كما يتعارض اسم بناء الجملة

تم إنشاؤها على ٥ نوفمبر ٢٠١٥  ·  9تعليقات  ·  مصدر: johnpapa/angular-styleguide

أهلا،

لقد اكتشفت شيئًا اليوم فيما يتعلق بوحدة التحكم مثل بناء الجملة في Angualr 1. في تطبيق Angular 1 الخاص بي ، أحاول تطبيق بنية المكون باستخدام التوجيهات لتحديد المكونات الفردية. التوجيه له وحدة التحكم الخاصة به مع controllerAs: 'vm' . كما أنني أستخدم جهاز التوجيه الزاوي Ui للتنقل بين طرق العرض. ما اكتشفته هو أنه إذا كان لدي مسار محدد بـ controllerAs: 'vm' ثم استخدمت توجيهًا في العرض الذي يعرّف controllerAs: 'vm' ، فسيتم الكتابة فوق وحدة التحكم الرئيسية (vm). السلوك هو نفسه حتى مع النطاق المعزول في التوجيه. ومع ذلك ، إذا قمت بتحديد أسماء مختلفة في المعلمة controllerAs لجهاز التوجيه والتوجيه (مثل controllerAs: 'componentVm' ) يعمل بشكل جيد.

كنت أتساءل عما إذا كنت أفعل شيئًا خاطئًا؟ إذا لم يكن الأمر كذلك ، وإذا كان هذا هو السلوك المقصود ، فمن المحتمل أن تكون فكرة جيدة أن تضيف شيئًا ما إلى دليل النمط مع ذكر وحدة التحكم المحتملة مع تعارض الأسماء عند استخدام بنية المكون في Angular 1 مع عناصر تحكم توجيهية محددة.

أطيب التحيات

يوسف

Angular 1 help wanted question

التعليق الأكثر فائدة

استخدم vm حتى يصبح غير واضح. ثم استخدم اسمًا وصفيًا أكثر.
هذا ما أحب.

ال 9 كومينتر

دليل الأسلوب يقول بالفعل:

"ملاحظة: عند العمل مع قواعد أكواد أكبر ، يمكن أن يساعد استخدام اسم وصفي أكثر في تخفيف العبء المعرفي وإمكانية البحث. تجنب الأسماء المطولة بشكل مفرط والتي يصعب كتابتها."

لذلك أعتقد أن johnpapa قد غطى هذا جيدًا. ربما يكون هناك تحسن طفيف في الإشارة إلى أن استخدام وحدات التحكم المتداخلة يعد بمثابة "قواعد أكواد أكبر".

(ومع ذلك ... إذا كنت تقوم بالبناء باستخدام مكونات معزولة جيدًا ، فمن المحتمل أن يكون لديك عدد قليل جدًا من وحدات التحكم المتداخلة بشكل واضح حتى في المشاريع الكبيرة.)

هذا القسم من دليل الأسلوب جديد تمامًا ، وربما يمكن توسيعه / تحسينه قليلاً IMO.
شاهد هذه المحادثة لمزيد من المعلومات: https://github.com/johnpapa/angular-styleguide/issues/462

لا تتردد في عمل علاقات عامة لإضافة القليل من عناصر التحكم المتداخلة ، إذا كنت تعتقد أنها ستساعدك

أنا جديد قليلاً على Angular وأنتقل فقط من الزاوية 1.4.8 إلى 1.5.0. كان لدي نفس المشكلة ، عند تداخل التوجيه. سيكون التوجيه الأصلي controllerAs الخاصية حيث تم الكتابة فوق "vm" بواسطة التوجيه الفرعي. أدت إضافة نطاق معزول إلى الطفل إلى إصلاح المشكلة بالنسبة لي ، ولكن يمكنني معرفة المواضع التي يمكن أن تسبب هذه المشكلة فيها.

لا تتردد في عمل علاقات عامة لإضافة القليل من عناصر التحكم المتداخلة ، إذا كنت تعتقد أنها ستساعدك

في تجربتي مع تسمية وحدات التحكم Angular 1 ، من بين الخيارات المتاحة ، من المنطقي إعادة تسميتها بعد المكون نفسه. لن ينخفض ​​هذا إلا عند دمج نفس النوع من المكونات داخل نوع واحد ، والذي لا يظهر كثيرًا في تجربة التطبيق الكبير.

للتوضيح ، أقترح تغيير هذه القاعدة في دليل النمط للتوصية باستخدام اسم المكون.

استخدم vm حتى يصبح غير واضح. ثم استخدم اسمًا وصفيًا أكثر.
هذا ما أحب.

واجهت نفس المشكلة التي أبلغت عنها jusefb في نوفمبر 2015. لقد قمنا بتغيير بعض التوجيهات لتصبح مراقبًا باسم: "vm". في إحدى الحالات ، لم يكن لدى وحدة التحكم كـ: "vm" نطاق منفصل (ولكن في جميع الحالات الأخرى ، كان لدى وحدة التحكم كـ: توجيهات "vm" نطاق منعزل). إضافة النطاق: {} ، إلى وحدة التحكم الواحدة As: التوجيه "vm" الذي لم يكن له نطاق معزول هو الذي أصلح المشكلة.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

jansepke picture jansepke  ·  12تعليقات

MrOutput picture MrOutput  ·  5تعليقات

amiceli picture amiceli  ·  7تعليقات

Foxandxss picture Foxandxss  ·  13تعليقات

annabellor picture annabellor  ·  9تعليقات