2014-07-14 3 views
10

I-Wert versuchen innerhalb einer Vorlage zuweisen, ist die Idee, so etwas zu tun:Ist es möglich, innerhalb von Lenkervorlagen einen Parameterwert ohne Hilfe von Helfern zuzuweisen?

{{#if author}} 
     {{className = 'classA'}} <- trying to implement this line. 
    {{else}} 
     {{className = 'classB'}} 
    {{/if}} 

<div class={{className}}></div> 

Ist es möglich, so ohne register zu tun?

+0

Ich brauche mehr Kontext. Was möchtest du mit einer Person machen? Ist es eine Javascript-Variable? – tire0011

+0

Ich habe das Beispiel geändert, hoffentlich ist es jetzt klarer. – Ravit

Antwort

8

Sie diese mit einem Teil tun können.

Teil:

<div class="{{classname}}">{{var1.author}}</div> 

Vorlage:

{{#if author}} 
{{> mypartial var1=. classname="classA"}} 
{{else}} 
{{> mypartial var1=. classname="classB"}} 
{{/if}} 

In diesem Beispiel ist die aktuelle Umfang als var1 bestanden haben. Ich kann mich nicht erinnern, ob der Bereich gleich bleibt und die neue Variable einfach hinzugefügt wird oder wenn Sie den Bereich manuell übergeben müssen.

1
{{#if author}} 
     <div class='{{ classA }}'></div> 
    {{else}} 
     <div class='{{ classB }}'></div> 
    {{/if}} 

oder versuchen

<div class='{{#if author}} {{ classA }} {{else}} {{ classB }} {{/if}}'></div> 

oder vielleicht dieses

ein Skript erstellen

<script> 
    $(function(){ 
     var class; 
     {{#if author}} 
      class = {{ classA }} 
     {{else}} 
      class = {{ classB }} 
     {{/if}} 

    var $specials = $('.special'); 
    $specials.removeClass('special'); 
    $specials.addClass(class); 
    }) 

</script> 
+0

Diese Lösung ist nicht so gut für mich, ich muss diesen Parameter an mehreren Stellen verwenden. Ich habe auf eine elegantere Lösung gehofft. – Ravit

+0

sehe meine Bearbeitung. mehr Ideen habe ich nicht – tire0011

9

Ich brauchte diese Lösung gelöst in der gleichen Weise, die das ursprüngliche Poster erwartet. Deshalb habe ich eine Hilfsfunktion erstellt, um dies für mich zu tun.

In den Optionen im Helper enthalten ist der Datenblock mit der Wurzel der Hilfsvariablen.

Ich habe meine Variable innerhalb des Root-Objekts platziert, entweder mit dem angegebenen Wert zuweisen oder überschreiben.

Der Helfer in HTML sieht sehr ähnlich aus.

{{setVariable "thisVar" "Contents Here"}} 

<div> 
    {{thisVar}} 
</div> 
+0

es druckt auch die Variable. ? wie man das los wird? –

Verwandte Themen