@Alecxandrys

Изменить переменную состояния шаблона снаружи?

День добрый
Согласно методичке, используя блок if в Spacebars template в Meteor иду следующим образом:
HTML сторона:
<div class="left-panel">
        {{#if reconnaissance.state}}
            {{#each cards}}
                {{name}}
            {{/each}}
        {{/if}}
    </div>


JS сторона:
Template.Battlefield.helpers({
    name1       : function()
        {
            return battles.findOne().name1;
        },
    name2       : function()
        {
            return battles.findOne().name2;
        },
    cards:function()
        {
            if (Meteor.user().username==battles.findOne().name1)
                {
                    return BS.deck1;
                }
            else if (Meteor.user().username==battles.findOne().name2)
            {
                return BS.deck2;
            }
            else {
                    alert ("You name doesn't consist in battlestate");
                }

        },
    reconnaissance:
        {
            state:true
        }
});


В подобном состоянии все работает но возникает необходимость изменить состояние извне шаблона. Как изменить состояние переменной, чтобы убрать блок?
  • Вопрос задан
  • 137 просмотров
Решения вопроса 1
idelg
@idelg
Разработчик
Template.Battlefield.helpers.reconnaissance можно сделать функцией, например:

Template.Battlefield.helpers({
    reconnaissance: function() {
        var randomBoolean = Math.random() < 0.5;
        return {
            state: randomBoolean
        }
    }
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы