Wie kann ich Iterierte über ein Objekt innerhalb einer Datei Soy wenn Google Schließung Vorlagen?

StackOverflow https://stackoverflow.com/questions/4120914

  •  29-09-2019
  •  | 
  •  

Frage

Ich möchte mein eigenes Template erstellen, die ich ein Objekt an und haben die Soja-Vorlage Iterierte durch das Objekt passieren kann und die Schlüssel herausziehen und Werte.

Wenn ich und Objekt in JavaScript und Soja-Vorlage nennen:

var obj = {'one':'a', 'two':b, 'three':c};
nameSpace.templateName({'paramValue': obj});

Wie kann ich die ['one', 'two', 'three'] Werte bekommen? Normalerweise würde ich jQuery each() Funktion verwenden, aber ich bin nicht sicher, wie etwas ähnliches in Soja-Dateien zu tun, ohne das Objekt in ein Array umgewandelt wird.

Die Objekte Ich habe mich mit bekannten Form (keine verschachtelten Objekten, oder wenn es, sie vor der Zeit bekannt und bekannten Tiefe gehen). Antworten auf diese oder die allgemeine Aufgabe Fall mit verschachtelten Objekten sind willkommen.

{namespace nameSpace}

/**
 * Prints keys and values of the object
 * @param paramValue object with keys and values
 */
{template .templateName}
    {$paramValue[0]}    // undefined
    {$paramValue.Keys}  // undefined
    {$paramValue.keys}  // undefined
    {$paramValue.one}   // prints 'a'
    {foreach $val in $paramValue}
      // never reached
    {/foreach} 
{/template}
War es hilfreich?

Lösung

Sie können dies nun mit der keys() Funktion erhalten.

{foreach $key in keys($paramValue)}
  key:   {$key}
  value: {$paramValue[$key]}
{/foreach} 

Andere Tipps

Durch das Aussehen der Dinge, das ist zu diesem Zeitpunkt nicht verfügbar, aber es wird in der Zukunft sein. Hier ist ein Link zu Google-Entwickler-Community diskutieren, Pläne für sie.

http://groups.google.com/group/ Verschluss-Vorlagen-discuss / browse_thread / thread / a65179c527580aab

Zur Zeit müssen Sie Ihr Objekt in ein Array, um darüber zu iterieren verwandeln, wenn Sie die Schlüssel nicht wissen, vor der Zeit.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top