Handlebars-Templates bieten nur rudimentäre boolesche Logik. Sie können prüfen, ob eine Eigenschaft truthy-Werte hat.
Für komplexere Logik müssen Sie die Berechnung in der Ember JS-Datei durchführen, die mit der Template verknüpft ist.
Angenommen, Sie haben eine Template unter templates/components/my-component.hbs. Dann müssten Sie die JS-Datei components/my-component.js verwenden, um die Berechnung durchzuführen.
In dieser Datei würden Sie etwas wie folgt machen:
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 ist lediglich der Name einer Funktion, könnte aber auch ein anderer Name sein.
Dann würden Sie in der Template etwas wie folgt machen:
{{#if property}}
blah blah...
{{/if}}
Dadurch wird die berechnete Eigenschaft aus der JS-Datei geladen und der Inhalt im #if-Block nur dann angezeigt, wenn property true zurückgibt.