Я работаю над созданием мастера форм с шагами jQuery. С шага 1 - шаг 2 мне нужно определить, какой шаблон загружен в зависимости от выбора на шаге 1. У меня есть этот шаблон. Я бы хотел, чтобы другой шаблон был отображен при изменении переменной сеанса.Динамические шаблоны и шаги JQuery
<template name = "selectFrame">
<div class = "container">
<div class = "frameCarousel">
{{> Template.dynamic template=active data=this}}
</div>
</div>
</template>
Каждый из внутренних шаблонов выглядит следующим образом.
<template name = "artLineFrame">
{{#each artLineFrames}}
<div class = "thumbnail">
<div class = "something">
<img data-src = "{{source}}" alt = "placeholder" class = "img-circle">
<h2>{{name}}</h2>
<p>{{description}}</p>
<button type = "button" id = "{{tag}}" class = "btn btn-primary">Select</button>
</div>
</div>
{{/each}}
</template>
<template name = "classicFrame">
{{#each classicFrames}}
<div class = "thumbnail">
<div class = "something">
<img data-src = "{{source}}" alt = "placeholder" class = "img-circle">
<h2>{{name}}</h2>
<p>{{description}}</p>
<button type = "button" id = "{{alt}}" class = "btn btn-primary">Select</button>
</div>
</div>
{{/each}}
</template>
<template name = "versionsFrame">
{{#each versionsFrames}}
<div class = "thumbnail">
<div class = "something">
<img data-src = "{{source}}" alt = "placeholder" class = "img-circle">
<h2>{{name}}</h2>
<p>{{description}}</p>
<button type = "button" id = "{{alt}}" class = "btn btn-primary">Select</button>
</div>
</div>
{{/each}}
</template>
<template name = "myHarmonyFrame">
{{#each myHarmonyFrames}}
<div class = "thumbnail">
<div class = "something">
<img data-src = "{{source}}" alt = "placeholder" class = "img-circle">
<h2>{{name}}</h2>
<p>{{description}}</p>
<button type = "button" id = "{{tag}}" class = "btn btn-primary">Select</button>
</div>
</div>
{{/each}}
</template>
Active - это функция, которая получает значение переменной сеанса и возвращает имя соответствующего шаблона.
Template.selectFrame.created = function() {
this.selectFrame = new ReactiveVar(null);
this.autorun(function(){
var templateName = Session.get('board');
console.log('##' + templateName);
Template.instance().selectFrame.set(templateName);
})
Tracker.flush();
}
Template.selectFrame.helpers({
'active' : function() {
var dynamicName = Template.instance().selectFrame.get();
return dynamicName;
}
})
Значение платы, переменная сессии, которая определяет, какой шаблон будет оказывать изменения, как это следует, но только шаблон, который когда-либо делает это шаблон, что значение по умолчанию платы установлен слишком. Может ли кто-нибудь предложить какую-то помощь или какие-то изменения, которые мне нужно сделать.
Я тоже испытываю эту проблему. Я могу только догадываться, что это что-то с шагами JQuery, которые нарушают наши шаблоны пробелов. Реакции обновляются только переменные на первом «шаге»; ничего больше не обновляется, даже когда я вручную вызываю Session.set() где-то. –