شكرًا لك على هذا—لقد ساعد في توضيح الكثير.
لم أتمكن بعد من جعل الأمر يعمل بالكامل، وذلك جزئيًا لأنني لا أجد أمثلة متاحة لاستخدام الخصائص المحسوبة (computed properties) للقيام بهذا النوع من العمليات.
في حالتي، داخل إضافة (plugin) الخاصة بي، أقوم بإجراء التعديل في قالب فهرس المجموعات (group index template). أي في الملف: plugin/assets/javascripts/discourse/groups/index.hbs (لقد وضعت كود فهرس المجموعات بالكامل هناك وأضفت التعديلات فوقه.)
هل تقصد أن ملف JS الخاص بالخاصية المحسوبة سيوضع في ملف أقوم بإنشائه وهو: plugin/assets/javascripts/discourse/groups/index.js؟ أم يمكنني ببساطة وضع هذا الكود في مُهيئ (initializer)؟
هذا هو أفضل ما استطعت فعله لتطبيق ما تتحدث عنه—هل هذا ما كان في ذهنك:
js:
export default Component.extend({
@discourseComputed("group.name", "Amazing_Name")
property(group.name, Amazing_Name) {
return group.name === Amazing_Name
}
})
hbs:
{{#if property}}
<div>نعم، هناك تطابق!</div>
{{/if}}
أم أنك تقصد أنه يجب علي إدخال قيم عامة حرفيًا مثل “string1” و “string2” في @discourseComputed، ثم تغيير القالب إلى {{#if property group.name "Amazing_Name"}}؟ (فقط بهذه الطريقة يمكنني التعامل مع كل قيمة ديناميكية في القالب.)
لم أتمكن بعد من جعل أي من الطريقتين تعمل بشكل كامل.
شكرًا لك على مساعدتك.