هل من الممكن تشغيل بعض الأكواد (من مكون سمة) عند اختيار فئة في المُنشئ؟ أنا مهتم بالحصول على الفئة المحددة سواء عند فتح المُنشئ لأول مرة أو عند تغيير القائمة المنسدلة للفئات.
كنت أفكر في أنه ربما يمكن تحقيق ذلك عن طريق تعديل وحدة تحكم أو مكون، مثل وحدة تحكم المُنشئ. لكنني لم أتمكن من العثور على معلومات الفئة…
إعجابَين (2)
fzngagan
(Faizaan Gagan)
18 مايو 2021، 8:22ص
2
يمكنك مراقبة model.categoryId في وحدة تحكم الموزع وتشغيل الكود الخاص بك عند حدوث التغيير.
5 إعجابات
شكرًا لك @fzngagan !
سؤال متابعة، لم أرَ أي نموذج من قبل . توصلت إلى ما يلي والذي يبدو أنه يعمل.
const { observes } = require('discourse-common/utils/decorators');
api.modifyClass("controller:composer", {
@observes('model.categoryId')
getCategory() {
let categoryId = this.get("model.categoryId");
if (categoryId == null) return;
let category = this.site.categories.findBy("id", categoryId).name;
}
});
هل هذه هي الطريقة الصحيحة (أو المفضلة) للقيام بذلك؟ وهل هذه أفضل طريقة للحصول على اسم الفئة من المعرف؟
إعجاب واحد (1)
fzngagan
(Faizaan Gagan)
19 مايو 2021، 6:22ص
4
يمكنك التحقق مما يحتويه كائن model. قد يكون اسم الفئة موجودًا بالفعل هناك.
إعجاب واحد (1)
بمعنى “كائن النموذج”، هل تقصد أنني يجب أن أفعل شيئًا مثل هذا؟
this.get("model")
تعديل:
على أي حال، الكود يعمل بشكل رائع. شكرًا مرة أخرى!
إعجاب واحد (1)