this.afterRefresh() ليست دالة

مرحبًا! منذ فترة طويلة لم ألقِ نظرة على الإضافات لدينا. بعد الترقية إلى الإصدار 2.4.0 بيتا، واجهت أخطاءً أثناء التحميل. تفشل فئة composer-editor.js بسبب الرسالة: “this.afterRefresh() is not a function”. يبدو لي أن هذا قد يكون إجراءً قديمًا في فئة مكون Ember، لكن قد أكون مخطئًا. لم أجد أي شيء يتعلق بذلك. هل يمكن أن يكون هذا إرثًا قديمًا أم أنني أستخدم كودًا قديمًا؟ شكرًا لك.

هل تواجه هذه المشكلة في الوضع الآمن؟

لقد قمت بتثبيت الإضافات الخاصة بي، لذا فإن تشغيل الوضع الآمن لا يساعدني في العثور على المشكلة. تستخدم هذه الإضافة المحددة مكون composer-editor في ملف قالب.

لقد قمت بفحص الإصدار v2.3.6 والبحث عن afterRefresh. يبدو أن ملف composer-editor.js يستخدمه بطريقة مختلفة: this.afterRefresh($preview); بدلاً من this.sendAction(‘afterRefresh’, $preview);. على الأقل يبدو أن هذه هي المشكلة.

لم يكن واضحًا من منشورك ما إذا كنت تعتقد أن المشكلة قادمة من الإضافات أو من النواة.

لا يمكنني المساعدة كثيرًا دون الوصول إلى الكود. لكن ما ذكرته صحيح: sendAction قديم ولم يعد ينبغي استخدامه، حيث أصبحت الإجراءات الآن مجرد دوال مجهولة بسيطة.

حسناً، إذن استدعاء الإجراء كدالة هو الطريقة الصحيحة الآن؟ إذن أعتقد أنني سأحتاج إلى مراجعة كودي. ظننت ربما أنه كان هناك خطأ برمجي.

نعم، استدعاؤه كدالة هو الاستخدام المتوقع.

لم أقم بتعريف afterRefresh في معلمات وسم composer-editor في ملف القالب. أظن أن ذلك مطلوب.