Die einfachste Sache wäre eine benutzerdefinierte if_eq
Helfer hinzuzufügen:
Handlebars.registerHelper('if_eq', function(a, b, opts) {
if(a == b) // Or === depending on your needs
return opts.fn(this);
else
return opts.inverse(this);
});
und passen Sie Ihre Vorlage:
{{#if_eq this "some message"}}
...
{{else}}
...
{{/if_eq}}
Demo: http://jsfiddle.net/ambiguous/d4adQ/
Wenn Ihre errors
Eingaben waren nicht einfache Strings dann könnte man hinzufügen, „ist dies eine Nachricht“ Fahnen zu ihnen und eine Standard-{{#if}}
verwenden (beachten Sie, dass direkt in einen String eine Eigenschaft hinzugefügt wird nicht so gut funktionieren):
for(var i = 0; i < errors.length; ++i)
errors[i] = { msg: errors[i], is_status: errors[i] === 'some message' };
und:
{{#if is_status}}
<li>Status</li>
{{else}}
<li>{{msg}}</li>
{{/if}}
Demo: http://jsfiddle.net/ambiguous/9sFm7/
Wenn '{{#if_eq dieses "some Nachricht"}}' funktioniert, warum nicht 'dies. etwas Eigenschaft? Ich kann das nicht zur Arbeit bringen. – raffian
@raffian: Hast du ein Beispiel (vielleicht eine Modifikation eines der Geigen in der Antwort) von dem, was du versuchst zu tun? –
..wurde eine Geige gebaut, dann bemerkte ich, dass mein persönlicher Helfer endete mit '{{if}}', nicht '{{if_eq}}', unglaublich, verschwendete Stunden, aber danke, dass du mir die Augen geöffnet hast: -) – raffian