# IfProcessor ## Überblick Der `IfProcessor` ermöglicht die bedingte Darstellung von Elementen in Templates basierend auf Werten aus dem RenderContext. ## Funktionsweise - Findet Elemente mit einem `if`-Attribut - Prüft den Wert der angegebenen Bedingung im RenderContext - Entfernt das Element, wenn die Bedingung nicht erfüllt ist ("falsy") - Entfernt nur das `if`-Attribut, wenn die Bedingung erfüllt ist ("truthy") ## Syntax ```html
...
``` ## Beispiel ```html
Benutzerbereich
``` ## Implementierung Der Prozessor verwendet `querySelectorAll('*[if]')`, um alle Elemente mit einem `if`-Attribut zu finden. Der Wert des Attributs wird als Schlüssel im RenderContext verwendet. Die Methode `isTruthy()` bestimmt, ob der Wert als wahr angesehen wird. ## Wahrheitswerte (Truthy/Falsy) Die folgende Logik wird verwendet, um zu bestimmen, ob ein Wert "truthy" ist: - Boolean `true`: Truthy - Boolean `false`: Falsy - `null`: Falsy - Leerer String oder nur Leerzeichen: Falsy - Numerischer Wert `0`: Falsy - Leeres Array: Falsy - Alle anderen Werte: Truthy ## Tipps - Das `if`-Attribut kann an jedem beliebigen HTML-Element verwendet werden - Bei Erfüllung der Bedingung bleibt das Element erhalten, nur das `if`-Attribut wird entfernt - Für komplexere Bedingungen können vordefinierte Variablen im RenderContext verwendet werden