2016-05-09 12 views
0

Ich benutze Meteor mit semantic-ui und ich habe eine Liste von Elementen, die ich gerne in einem Akkordeon anzeigen würde.Template.subsurryReady und Semantic UI Accordion Modul

Das Akkordeon selbst funktioniert einwandfrei, bis ich einen {{#if Template.subscriptionsReady}} darum wickeln. als es nicht mehr funktioniert.

Das initialisierte Akkordeon:

Template.register.rendered = function() { 
    this.$('.ui.accordion').accordion(); 
} 

Frage: Wie kann ich ein semantisches-ui Akkordeon in einem {{#if Template.subscriptionsReady}} verwenden?

+0

Muss das Akkordeon Code ausführen, wenn die Vorlage gerendert wird? –

+0

Nein, es zeigt nur einen Index von Einträgen sortiert A - Z und für jeden Buchstaben ist ein Akkordeon. Wie: '{{# TemplateSubscriptionsReady}} {{#alles Vokabular}} // Akkordeoncode {{/ each}} {{/ if}}'. Aber wenn ich das "each" in die subscriptionReady-Hülle einpacke, öffnet sich das Akkordeon nicht, wenn ich darauf klicke. – Raggamuffin

Antwort

1

Da die Subskription nicht bereit ist, wenn die Vorlage gerendert wird, wird $('.ui.accordion') nichts auswählen, da sich dieses Element im {{#if Template.subscriptionsReady}} Block befindet.

Sie müssen warten, bis das Abonnement bereit ist, und dann this.$('.ui.accordion').accordion() zu diesem Zeitpunkt ausführen.

+0

Danke für den Hinweis! [Dieser Beitrag] (http://stackoverflow.com/questions/28621132/meteor-subscribe-callback) gab mir die Lösung. – Raggamuffin