I template Handlebars dispongono solo di una logica booleana rudimentale. Puoi eseguire controlli sui valori truthy di una proprietà.
Per gestire logiche più complesse, devi eseguire il calcolo nel file JS di Ember associato al template.
Ad esempio, se hai un template in templates/components/my-component.hbs, dovrai utilizzare il file JS components/my-component.js per effettuare il calcolo.
In quel file, potresti scrivere qualcosa di simile:
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 è solo il nome di una funzione, ma può essere qualsiasi nome.
Poi, nel template, potresti scrivere qualcosa di simile:
{{#if property}}
blah blah...
{{/if}}
Questo importa la proprietà calcolata dal file JS e mostra il contenuto nel blocco #if solo se property restituisce true.