Из того, что я понимаю в вашем посте, вы должны взглянуть на пакет DocHead от kadirahq (https://github.com/kadirahq/meteor-dochead).
Я использовал Session здесь, чтобы сохранить выбранную тему. Могут быть и другие способы сделать это, но у меня это работает нормально.
Я использовал его, чтобы позволить любому пользователю выбрать свою собственную тему bootstrap.
Например, вы может иметь выбор, содержащий ваши стили:
<select>
<option id="themes/first.css">First</option>
<option id="themes/second.css">Second</option>
<option id="themes/third.css">Third</option>
</select>
Затем вы можете выбрать тему по умолчанию в onRendered, например:
Template.myTemplate.onRendered(function() {
if (Session.get("theme") != undefined) {
DocHead.addLink(Session.get("theme"));
document.getElementById("selectedTheme").value = Session.get("themeName");
}
});
Добавить помощника:
getThemeName() {
return Session.get("themeName");
}
И, наконец, обработчик событий на ваш выбор:
'change select'(event) {
DocHead.removeDocHeadAddedTags()
Session.setPersistent("themeName", event.target.value);
var themeURL = event.target.selectedOptions[0].id;
var linkInfo = {rel: "stylesheet", href: themeURL};
Session.setPersistent("theme", linkInfo);
DocHead.addLink(linkInfo);
},
Я удалил эту функцию из своего проекта несколько месяцев go, поэтому могут возникнуть некоторые проблемы, но она должна работать.
Удачи:)