قد أكون أفتقد شيئًا واضحًا هنا، لذا أعتذر مقدمًا إذا كان الأمر كذلك.
تحتوي الإضافة الخاصة بي على إعداد مخصص لكل فئة، والذي يُستخدم لإظهار/إخفاء مفتاح تبديل في المنشئ. تم إعداد مفتاح التبديل في مكون Glimmer، والذي يتم استدعاؤه بواسطة مُهيئ لعرضه في منفذ الإخراج composer-fields.
هدفي هو أن يُظهر/يُخفي المنشئ مفتاح التبديل كلما تم تغيير الفئة داخل المنشئ، اعتمادًا على قيمة الإعداد المخصص المرتبط بتلك الفئة.
هل من الممكن إضافة مراقب على outletArgs لمنفذ إخراج الإضافة؟ يتم تعيين نموذج المنشئ في outletArgs، لذا كان تفكيري هو تعيين المراقب على categoryId من خلال ذلك. ثم سأقوم بتشغيل دالة للتحقق من قيمة الإعداد المخصص في الفئة. لكنني أواجه مشكلة في إعداد المراقب. قد يكون أنني أقوم بإعداده بشكل غير صحيح، فأنا جديد نسبيًا على EmberJS.
جربت هذا الحل ولكنه للأسف يبدو أن الإصدار الذي أقوم بالبناء عليه يحتوي على قائمة قديمة من المحولات المهيأة، والتي يفتقدها composer-editor-reply-placeholder.
لمزيد من السياق، أقوم بإعادة هيكلة ميزات المكون الإضافي لاستخدام مكونات Glimmer بعد إيقاف واجهة برمجة التطبيقات registerConnectorClass. الكود أدناه هو ما تم إعداده في الأصل.
export default {
initialize(container) {
withPluginApi("1.6.0", api => {
api.registerConnectorClass("composer-fields", "handlebars-template-name", {
setupComponent(attrs, component) {
const model = attrs.model;
const controller = api.container.lookup("controller:composer");
if (controller) {
controller.addObserver("model.categoryId", this, function() {
// logic to set values for showToggle & isRestricted
let props = {
showField: showToggle && isRestricted,
}
component.setProperties(Object.assign(props));
})
}
}
}
هل هناك طريقة أخرى للحصول على نفس الوظيفة من مكون Glimmer؟ على وجه التحديد مراقبة التغييرات على model و/أو categoryId.