Я пытаюсь найти метеорный способ показать и скрыть шаблоны. Например, если нажата кнопка «Дом», отображается домашний шаблон и все остальные скрыты. Я понимаю, что это возможно с помощью переменных сеанса или зависимостей, но не может работать.Meteor показать и скрыть шаблоны
2
A
ответ
8
Этого можно достичь с помощью переменной Session
, но вместо этого вы, вероятно, захотите использовать iron router package.
Ниже приводится решение с помощью переменной Session
:
<body>
{{#if isPage 'home'}}
{{> home}}
{{/if}}
{{#if isPage 'about'}}
{{> about}}
{{/if}}
<ul>
<li><button class="clickChangesPage" data-page='home'>Home</button></li>
<li><button class="clickChangesPage" data-page='about'>About</button></li>
</ul>
</body>
<template name="home">
<p>Home!</p>
</template>
<template name="about">
<p>About!</p>
</template>
if(Meteor.isClient){
Session.setDefault('page', 'home');
UI.body.helpers({
isPage: function(page){
return Session.equals('page', page)
}
})
UI.body.events({
'click .clickChangesPage': function(event, template){
Session.set('page', event.currentTarget.getAttribute('data-page'))
}
})
}
Update 2 Mars 2016
Как было отмечено в комментарии, используя Template.dynamic
является лучшим решением. Вот код, с помощью этого один:
<body>
{{> Template.dynamic template=currentPage}}
<ul>
<li><button class="clickChangesPage" data-page='home'>Home</button></li>
<li><button class="clickChangesPage" data-page='about'>About</button></li>
</ul>
</body>
<template name="home">
<p>Home!</p>
</template>
<template name="about">
<p>About!</p>
</template>
if(Meteor.isClient){
Session.setDefault('page', 'home');
Template.body.helpers({
currentPage: function(page){
return Session.get('page')
}
})
Template.body.events({
'click .clickChangesPage': function(event, template){
Session.set('page', event.currentTarget.getAttribute('data-page'))
}
})
}
Смежные вопросы
- 1. Meteor показать/скрыть элемент на кнопку мыши
- 2. Динамические шаблоны в Meteor
- 3. Новейшие шаблоны Meteor
- 4. Meteor-pass данные вложенные шаблоны
- 5. Как работают шаблоны в Meteor
- 6. Как работают шаблоны в Meteor?
- 7. Meteor package: Шаблоны не найдены
- 8. Шаблоны Meteor AngularJS (модульное тестирование)
- 9. Показать и скрыть форму
- 10. jQuery: скрыть и показать
- 11. Скрыть и показать JQuery
- 12. Скрыть и показать фрагмент?
- 13. Jquery Показать и скрыть
- 14. Показать и скрыть IMG
- 15. Показать и скрыть divs
- 16. jQuery Скрыть и показать
- 17. скрыть и показать объект
- 18. скрыть и показать RadComboBox
- 19. Скрыть и показать функцию
- 20. Скрыть и показать таблицу
- 21. Показать и скрыть вкладки
- 22. Более DRY способ показать/скрыть частичные/шаблоны в рельсах
- 23. Visiblity/показать и скрыть/скрыть фундамент кладов
- 24. показать/скрыть без использования hide() и показать()
- 25. скрыть и показать в jquery
- 26. показать и скрыть текст пробела
- 27. Как показать и скрыть div
- 28. jquery показать и скрыть картинки
- 29. Скрыть и показать поле столбца
- 30. Скрыть и показать не работает
Спасибо Я не знаю, что это было возможно через железный маршрутизатор так будет смотреть на это. Можете ли вы привести примеры использования переменных сеанса? – james
@james, см. Мой обновленный ответ. –
Удивительно! Спасибо за быстрый ответ, и я надеюсь, что это поможет другим, кто отправляется с метеоритом. Stackoverflow сохранит этот день снова :-) – james