Maison > interface Web > js tutoriel > Puis-je utiliser des opérateurs logiques comme « OU » dans les conditionnels de Handles.js {{#if}} ?

Puis-je utiliser des opérateurs logiques comme « OU » dans les conditionnels de Handles.js {{#if}} ?

Linda Hamilton
Libérer: 2024-11-13 16:27:02
original
197 Les gens l'ont consulté

Can I Use Logical Operators Like

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);
});
Copier après la connexion

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}}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal