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