تتضمن قوالب Handlebars منطقًا بوليانيًا بدائيًا فقط. يمكنك إجراء عمليات تحقق من القيم الحقيقية (truthy values) للخاصية.
لتنفيذ أي منطق أكثر تعقيدًا، يجب عليك تنفيذ المنطق في ملف Ember JS المرتبط بالقالب.
على سبيل المثال، إذا كان لديك قالب في templates/components/my-component.hbs، فيجب عليك استخدام ملف JS components/my-component.js لإجراء الحساب.
في هذا الملف، يمكنك فعل شيء مثل التالي:
import discourseComputed from "discourse-common/utils/decorators";
import Component from "@ember/component";
export default Component.extend({
@discourseComputed("string1", "string2")
property(string1, string2) {
return string1 === string2;
}
});
property هو مجرد اسم لدالة، ولكن يمكن أن يكون أي اسم آخر.
ثم في القالب، يمكنك فعل شيء مثل التالي:
{{#if property}}
blah blah...
{{/if}}
هذا يجلب الخاصية المحسوبة من ملف JS ويعرض المحتوى داخل كتلة #if فقط إذا كانت property تُرجع true.