Utilisation d'opérateurs logiques dans Handlebars.js {{#if}} Conditionnels
Handlebars.js fournit un puissant {{#if}} opérateur conditionnel pour restituer conditionnellement le contenu en fonction d’une expression donnée. Cependant, l'opérateur standard ne prend en charge que de simples conditions de vérité/fausse. Cela limite sa capacité à exprimer des relations logiques plus complexes.
Problème :
Est-il possible d'incorporer des opérateurs logiques, tels que OR (||), dans le guidon .js {{#if}} conditionnel opérateur ?
Réponse :
Bien que handlebars.js ne prenne pas en charge nativement les opérateurs logiques dans son opérateur conditionnel, il est possible d'obtenir cette fonctionnalité en utilisant un assistant de bloc. Les assistants de bloc sont des fonctions personnalisées qui peuvent être enregistrées avec le guidon pour étendre ses fonctionnalités.
Voici comment enregistrer un assistant de bloc nommé « ifCond » pour gérer les conditions logiques :
Handlebars.registerHelper('ifCond', function(v1, v2, options) { if(v1 === v2) { return options.fn(this); } return options.inverse(this); });
Cette assistante vérifie si deux valeurs, v1 et v2, sont égales. Si tel est le cas, il renvoie le contenu du bloc « vrai » (options.fn). Sinon, il renvoie le contenu du bloc 'false' (options.inverse).
Pour utiliser cet assistant dans votre modèle, appelez-le simplement avec les valeurs que vous souhaitez comparer :
{{#ifCond v1 v2}} {{v1}} is equal to {{v2}} {{else}} {{v1}} is not equal to {{v2}} {{/ifCond}}
Cela affichera l'un des deux blocs selon que v1 et v2 sont égaux ou non.
Bien que l'utilisation d'assistants de bloc pour obtenir cette fonctionnalité puisse ne pas correspondre à la philosophie de Guidon, il offre un moyen d'étendre ses capacités et de gérer des relations logiques complexes dans vos modèles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!