2017-08-26 3 views
0

Golang Server sendet schools Objekt print.tpl Smarty-Datei wie: tplData["Schools"] = schoolsGolang + JQuery + Smarty: Wie man über Objekt iteriert?

In print.tpl Datei, ich bin in der Lage, es zu drucken mit unter:

{{range $.Schools}} 
    {{.Course}} -- {{.Duration}} 
{{end}} 

In print.tpl Datei muss ich https://fullcalendar.io JQuery-Komponente verwenden und es funktioniert gut mit statischen Daten wie unten:

<script> 
    $(document).ready(function() { 
     $('#calendar').fullCalendar({    
      header: { 
       left: 'prev,next today myCustomButton', 
       center: 'title', 
       right: 'month,agendaWeek,agendaDay,listMonth' 
      }, 
      events: [ 
        { 
         title : 'event1', 
         start : '2017-08-01' 
        } 
       ] 
     }); 
    }); 
</script> 

Frage: Wie kann ich $.Schools Objekt in meiner JQuery-Funktion iterieren?

Hinweis: Hosting REST in Golang und Aufruf von JQuery ist eine Option, aber ich möchte diese Route nicht gehen.


aktualisieren: Neuer verbesserter Code per @mkopriva brillanter Antwort:

<script> 
     $(document).ready(function() { 
      $('#calendar').fullCalendar({    
       header: { 
        left: 'prev,next today myCustomButton', 
        center: 'title', 
        right: 'month,agendaWeek,agendaDay,listMonth' 
       }, 
       events: [ 
         {{range $.Schools}} 
         { 
         title : {{.Course}}, 
         start : {{.Duration}} 
         }, 
        {{end}} 
        ] 
      }); 
     }); 
    </script> 

Antwort

1

Go-Vorlagen unterstützen js und CSS sowie die Auswertung von Aktionen ({{ ... }}) ist kontextuelle, so dass Sie laufen können über Schulen in js das gleiche wie Sie in HTML tun. Obwohl ich keine Ahnung habe, was Smarty ist, also wenn das nicht funktioniert, müssen Sie die Dokumentation von smarty überprüfen.

events: [ 
    {{range $.Schools}} 
    { 
     title: {{.Course}}, 
     start: {{.Duration}} 
    }, 
    {{end}} 
] 

https://play.golang.org/p/LBDBAMY4cL

+0

https://play.golang.org/p/_jJzH28bOI –

+0

@ mh-cbon was ist es, dass Sie darauf hinweisen,? – mkopriva

+0

Ausgezeichnetes @mkopriva, ich habe nur ein kleines Problem, mit oben genannten Code am Ende am Ende zusätzliche COMMA hinzufügen. Weißt du, wie ich das letzte Element während der Iteration identifizieren kann, damit ich den COMMA nicht hinzufügen kann und alles wird großartig? –

Verwandte Themen