Les modèles Handlebars ne disposent que d’une logique booléenne rudimentaire. Vous pouvez effectuer des vérifications sur la présence de valeurs truthy.
Pour des opérations plus complexes, vous devez implémenter la logique dans le fichier Ember JS associé au modèle.
Par exemple, si vous avez un modèle situé sous templates/components/my-component.hbs, vous devrez utiliser le fichier JS components/my-component.js pour effectuer le calcul.
Dans ce fichier, vous écririez quelque chose comme ceci :
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 est simplement le nom d’une fonction, mais il peut être n’importe quel nom.
Ensuite, dans le modèle, vous écririez quelque chose comme ceci :
{{#if property}}
blah blah...
{{/if}}
Cela récupère la propriété calculée depuis le fichier JS et affiche le contenu du bloc #if uniquement si property renvoie true.