إخلاء مسؤولية: سعيد جدًا بالاتجاه هنا وشكراً على كل العمل حتى الآن حيث أن هناك الكثير من القوة في النظام الجديد. نحتاج فقط إلى التأكد من أننا نحتفظ ببعض القدرات المكافئة؟ …
في المكون الخاص بي، TLP، أقوم حاليًا بتعيين سمة النمط للعنصر الخارجي لقائمة الموضوع ديناميكيًا:
تعيين لون background: إلى قيمة RGB فريدة لمطابقة اللون السائد للصورة. يجب القيام بذلك بشكل مثالي في حلقة Ember.
أقوم أيضًا بتعيين grid-row-end لتحديد حجم عنصر الفسيفساء بسرعة كبيرة. هذا سريع وفعال للغاية ويتجنب الكثير من جافا سكريبت. ومع ذلك، لهذا أستخدم جافا سكريبت لأنه يعتمد على الأحجام النهائية في DOM.
هل modifyClass لا يزال صالحًا؟ (تم تحديث الصيغة للتو - قد يكون من الجيد الإشارة إلى هذا الدليل إذا كان الأمر كذلك)
هل لا يزال بإمكاني استخدام ذلك للوصول إلى سمة النمط للعنصر المحيط؟
تختلف المكونات الكلاسيكية في أنها وفرت تاريخيًا الوصول إلى سمات مستوى العنصر المحيط خارج القالب، لذلك كان من السهل تعديلها ديناميكيًا في التعليمات البرمجية.
إشعار الإهمال: تعديل ‘component:topic-list-item’ باستخدام ‘modifyClass’ مهمل. استخدم محول القيمة ‘topic-list-columns’ وواجهات برمجة تطبيقات المكون الإضافي topic-list الجديدة بدلاً من ذلك.
modifyClass بحد ذاته ليس مهجورًا. إنها طريقة تخصيص محفوفة بالمخاطر، ويجب عليك اتخاذ الاحتياطات عند استخدامها (كما هو موضح في المستند الذي ربطه @don)، ولكن ليس لدينا أي خطط وشيكة لإزالته.
السبب في أننا نطبع رسالة إهمال للمكونين component:topic-list و component:topic-list-items هو أن هذين المكونين هما التنفيذ القديم لقائمة الموضوعات، ولا يتم استخدامهما عند تمكين قائمة الموضوعات اللامعة. الآن، لدينا مجموعة من المكونات اللامعة مثل components/topic-list/item.
لذلك، من الناحية الفنية، يمكنك استخدام modifyClass على هذه المكونات الجديدة. ولكن، نظرًا لأنها مكونات لامعة، فلن تتمكن من تعديل علامة النمط عبر فئة JS، لذلك لن يساعد ذلك في حل المشكلة في المنشور الأصلي.
لدينا وضع “فسيفساء” مشابه في مكون سمة d-topic-thumbnails الرسمي، لذا يجدر النظر في كيفية تنفيذه. نضيف فئة فريدة لكل “صف” من قائمة الموضوعات:
ثم نقوم بعرض علامة <style> ديناميكية في منفذ إضافي منفصل، والتي تستهدف أسماء الفئات هذه:
ومع ذلك… هذا معقد بعض الشيء، لذلك ربما يجب أن ننظر في إضافة valueTransformer محدد للسماح بتغيير السمة style=. إنها صعبة قليلاً بسبب حماية Ember من XSS / htmlSafe على هذه السمة… ولكنني متأكد من أنه يمكننا جعل شيئًا ما يعمل.