Ich habe eine ziemlich einfache Backbone-Ansicht, die ich einige Blöcke von HTML bedingt haben möchte. Ich sehe ein Verhalten, bei dem nach dem bedingt gerenderten HTML-Code auch eine ganze Zahl gerendert wird. Von dem, was ich sagen kann, scheint es zu passieren, wenn ich die end
Anweisung verwende, um einen bedingten Block zu beenden.Eco Vorlage rendert Ganzzahl bei Verwendung von 'Ende' Anweisung
Hier ist ein Code, der den Fehler für mich demonstriert:
<% if true: %>Hello World!<% end %>
Ich würde erwarten, dass dieses Hello World!
in das Aufnahmeelement zu machen. Es wird jedoch tatsächlich Hello World!2
gerendert.
Wenn ich mehrere Blöcke in der gleichen Vorlage hinzufügen:
<% if true: %>Foo, <% end %>
<% if true: %>Bar, <% end %>
<% if true: %>Baz<% end %>
Ich würde erwarten, dass dieses Foo, Bar, Baz
in das Aufnahmeelement zu machen. Es wird jedoch tatsächlich Foo, 2 Bar, 5 Baz8
gerendert. Nach dem Ausführen einer etwas größeren Menge von ihnen scheint es, dass die ganze Zahl, die gedruckt wird, jedes Mal um 3 erhöht wird. Vom Lesen über die README des Edelsteins kann ich nichts sehen, was ich falsch mache.
Jede Hilfe wäre sehr willkommen!
Übergeben Sie ein Variablenende mit einem Wert an die Vorlage? Es könnte die Standard-Endfunktionalität irgendwie überschreiben. – abraham
In diesem Fall wäre das Rendering-Objekt (eine Backbone-Ansicht) das einzige, was im Template-Bereich wäre. Es wird kein zusätzlicher Kontext außer dem übergeben. Das sagte ... vielleicht "Ende" im Kontext der Backbone View ist eine Hilfsfunktion oder etwas? Ich werde das untersuchen. –
Konnte keine Ursache in diesem Pfad finden. Am Ende habe ich meine App wieder auf JavaScript und die Vorlagen auf EJS umgestellt. Nicht das Ergebnis, nach dem ich gesucht habe, aber zumindest funktioniert es. –