Heim > Web-Frontend > js-Tutorial > Kann ich logische Operatoren wie „OR' in den {{#if}}-Bedingungen von Handlers.js verwenden?

Kann ich logische Operatoren wie „OR' in den {{#if}}-Bedingungen von Handlers.js verwenden?

Linda Hamilton
Freigeben: 2024-11-13 16:27:02
Original
197 Leute haben es durchsucht

Can I Use Logical Operators Like

Verwendung logischer Operatoren in Handlers.js {{#if}}-Bedingungen

Handlebars.js bietet ein leistungsstarkes {{#if}} Bedingungsoperator zum bedingten Rendern von Inhalten basierend auf einem bestimmten Ausdruck. Der Standardoperator unterstützt jedoch nur einfache Wahrheits-/Falsch-Bedingungen. Dies schränkt seine Fähigkeit ein, komplexere logische Beziehungen auszudrücken.

Problem:

Ist es möglich, logische Operatoren wie OR (||) in den Lenker zu integrieren? .js {{#if}} bedingter Operator?

Antwort:

Während handlebars.js logische Operatoren in seinem bedingten Operator nicht nativ unterstützt, ist dies möglich Erreichen Sie diese Funktionalität durch die Verwendung eines Blockhelfers. Blockhelfer sind benutzerdefinierte Funktionen, die bei Lenkern registriert werden können, um deren Funktionalität zu erweitern.

So können Sie einen Blockhelfer mit dem Namen „ifCond“ registrieren, um logische Bedingungen zu verarbeiten:

Handlebars.registerHelper('ifCond', function(v1, v2, options) {
  if(v1 === v2) {
    return options.fn(this);
  }
  return options.inverse(this);
});
Nach dem Login kopieren

Dieser Helfer prüft, ob zwei Werte, v1 und v2, gleich sind. Wenn dies der Fall ist, wird der Inhalt des „true“-Blocks (options.fn) zurückgegeben. Andernfalls wird der Inhalt des Blocks „false“ (options.inverse) zurückgegeben.

Um diesen Helfer in Ihrer Vorlage zu verwenden, rufen Sie ihn einfach mit den Werten auf, die Sie vergleichen möchten:

{{#ifCond v1 v2}}
    {{v1}} is equal to {{v2}}
{{else}}
    {{v1}} is not equal to {{v2}}
{{/ifCond}}
Nach dem Login kopieren

Dadurch wird einer der beiden Blöcke ausgegeben, je nachdem, ob v1 und v2 gleich sind oder nicht.

Die Verwendung von Blockhelfern zum Erreichen dieser Funktionalität entspricht zwar möglicherweise nicht der Philosophie von Handlers, bietet aber eine Möglichkeit zur Erweiterung seine Fähigkeiten und verarbeiten komplexe logische Beziehungen in Ihren Vorlagen.

Das obige ist der detaillierte Inhalt vonKann ich logische Operatoren wie „OR' in den {{#if}}-Bedingungen von Handlers.js verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage