Вкладки навигации не работают должным образом

Пожалуйста, подождите, я новичок в Meteor. Я пытаюсь динамически создавать обе вкладки и их соответствующее содержимое в одном шаблоне, используя следующий код. Ожидаемые данные отображаются, но на моей первой вкладке (допустим, значение {{Name}} - «FirstTab») я вижу {{Name}} для всех элементов в моей коллекции levels. Однако, когда я нажимаю на другие вкладки, я вижу только ожидаемые {{Name}} значения, даже когда я возвращаюсь на вкладку «Первая вкладка». Очевидно, я где-то неправильно повторяю ... но я не понимаю, почему это работает, когда я нажимаю на первую вкладку. Как мне это реализовать?

<ul class="nav nav-tabs" role="tablist">
    {{#each indexedArray levels}}
        {{#if _isFirstIndex }}
            <li role="presentation" class="active"><a href="#{{removeSpaces Name}}" aria-controls="{{removeSpaces Name}}" role="tab" data-toggle="tab">{{Name}}</a></li>
        {{ else }}
            <li role="presentation" class=""><a href="#{{removeSpaces Name}}" aria-controls="{{removeSpaces Name}}" role="tab" data-toggle="tab">{{Name}}</a></li>
        {{/if}}
    {{/each}}
</ul>
<div class="tab-content">
    {{#each indexedArray levels}}
    <div role="tabpanel" class="tab-pane active" id="{{removeSpaces Name}}">
        <h2>{{Name}}</h2>
    </div>
    {{/each}}
</div>

person illya    schedule 02.11.2015    source источник
comment
Более похожий на метеорит подход заключался бы в создании реактивной переменной на уровне шаблона, представляющей состояние (выбранная вкладка), и использования ее для определения вкладки для рендеринга (например, путем установки переменной на желаемый индекс), а не заранее создайте все содержимое вкладки.   -  person MasterAM    schedule 02.11.2015


Ответы (1)


Я понял, что могу просто добавить такой же {{#if _isFirstIndex }} вокруг tabpanel div, чтобы он работал должным образом. Однако я согласен с @MasterAM, что это определенно не похоже на Meteor, и мне нужно будет провести рефакторинг, следуя этому совету.

person illya    schedule 02.11.2015