ترقية Ember: ما هي خطة Mixins، خاصة bufferedProperty؟

أنا أعمل على COMPATIBILITY: move thumbnail selector to Glimmer & new Component modal system by merefield · Pull Request #32 · merefield/discourse-tc-topic-list-previews · GitHub

كنت أستخدم bufferedProperty على Modal Controller، ولكنني اضطررت الآن للانتقال إلى Component لدعم بنية Modal الجديدة للمكونات.

ومع ذلك، أعتقد أنني ما زلت بحاجة إلى استخدام bufferedProperty (أقوم بتحديث قيمة في Topic Meta).

هذا، مع ذلك، يثير خطأ:

export default class AwesomeModalComponent extends Component.extend(
  bufferedProperty("model")
) {

… وأحصل على TypeError: n.default.extend is not a function

لقد وجدت بعض الأمثلة لهذا النمط، ولكن فقط للمتحكمات (Controllers):

سيكون من الجيد معرفة الخطة هنا بشأن “TODO”.

3 إعجابات

الإجابة الأسهل على المدى القصير هي: استمر في استخدام مكون كلاسيكي (Classic Component) للنافذة المنبثقة الخاصة بك (أي ليس مكون Glimmer). لا تزال المكونات الكلاسيكية تدعم المزيج (mixins).

الالتزام بمكون كلاسيكي (أي الاستراتيجية الموضحة في Converting modals from legacy controllers to new DModal component API) سيمنحك ترقية نظيفة 1:1 من النظام القديم المستند إلى وحدات التحكم.

على المدى الطويل، سنحتاج إلى إيجاد بدائل لبعض مزيجنا الأساسي (core mixins). لكننا لم نصل إلى هناك بعد.

4 إعجابات

للمتابعة وشكرًا. لقد استخدمت هذا النهج بالضبط وحصلت على كل شيء يعمل - لقد نقلت كل شيء إلى Glimmer باستثناء النافذة المنبثقة نفسها التي احتاجت إلى Mixin.

بالمناسبة، يبدو أن bufferedProperty يقوم بالكثير من السحر ولا يبدو أنه يتبع أيًا من القواعد القياسية المتعلقة بتمرير التغييرات!

إعجاب واحد (1)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.