2016-05-09 16 views
0

私はsemantic-uiでMeteorを使用しています。アコーディオンで表示したいアイテムのリストがあります。Template.subscriptionReadyとSemantic UI Accordion Module

アコーディオン自体は、{{#if Template.subscriptionsReady}}をラップするまで完全に正常に動作します。それ以上は働かない。

初期化アコーディオン:

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

質問:私は{{#if Template.subscriptionsReady}}内部セマンティック-UIアコーディオンを使用することができますどのように

+0

テンプレートをレンダリングするときに、アコーディオンがコードを実行する必要があるのはなぜですか? –

+0

いいえ、A〜Zで並べ替えられたエントリのインデックスを表示し、すべての文字に対してtherはアコーディオンです。次のようになります: '{{#if Template.subscriptionsReady}} {{各ボキャブラリ}} //アコーディオンコード{{/ each}} {{if if}}'しかし、私がそれをクリックしたときにアコーディオンが開くのではなく、これのようなsubscriptionReadyで 'each'をラップすると。 – Raggamuffin

答えて

1

テンプレートのレンダリング時にサブスクリプションが準備できていないため、$('.ui.accordion')は、その要素が{{#if Template.subscriptionsReady}}ブロック内にあるため、何も選択しません。

サブスクリプションの準備が整うのを待ってから、その時点でthis.$('.ui.accordion').accordion()を実行する必要があります。

+0

ヒントをありがとう! [この記事](http://stackoverflow.com/questions/28621132/meteor-subscribe-callback)私に解決策を与えました。 – Raggamuffin

関連する問題