Будучи новичком в Meteor, я столкнулся с проблемой, с которой столкнулся при создании ввода «на лету» с помощью помощника. Действительно, то, что я пытаюсь сделать, это сгенерировать левый помеченный ввод с раскрывающимся списком, но проблема в том, что мне нужно вызвать метод $('.ui.dropdown').dropdown();
После создания каждого ввода с соответствующим раскрывающимся списком, и я не знаю, как это сделать правильно с помощью семантического пользовательского интерфейса и среды Meteor. Вот мой помощник, создающий входные данные:
'filterColumns': function() {
return Session.get('s_filterColumns');
}
Где 's_filterColumns' - это массив вида ["Firstname", "Lastname", "LivingPlace"]
А вот HTML-шаблон, использующий помощник для генерации входных данных:
<div id="fields">
<div class="ui grid">
{{#each filterColumns}}
<div class="eight wide column">
<label>{{this}}</label>
<div class="ui left labeled input">
<div class="ui dropdown label">
<div class="text">Start by</div>
<i class="dropdown icon"></i>
<div class="menu">
<div class="item">Start by</div>
<div class="item">Contains</div>
<div class="item">End by</div>
</div>
</div>
<input type="text">
</div>
</div>
{{/each}}
</div>
</div>
Но затем при заполнении переменной сеанса новым содержимым входные данные создаются соответствующим образом, но метод раскрывающегося списка javascript больше не вызывается, поэтому моя левая метка не является раскрывающимся списком.
Если у вас есть какие-либо рекомендации относительно чего-либо в моей концепции, я был бы рад узнать от кого-то более опытного, чем я.
$('.ui.dropdown').dropdown();
? Если это так, попробуйте запустить его внутри Template.myTemplate.onRendered(), гдеmyTemplate
— это название вашего шаблона. Учитывая, что у вас есть несколько раскрывающихся списков, вы можете поместить html, который находится внутри вашего{{#each }}
, в свой собственный шаблон и использовать его дляonRendered()
. - person Michel Floyd   schedule 23.08.2015