好的 - 所以我遇到了一个使用Select2和集合/订阅的小问题。如果我使用this.subscribe( collection ),则不会创建select2,如果我注释掉订阅代码,则会创建select2。代码包装在Template.subscriptionsReady块中,我在发布中添加了Meteor._sleepForMs(2000)以检查模板是否等待,并且工作正常。
还有其他人遇到过这个问题吗?怎么有人知道如何解决它?
HTML:
<div class="input-group">
<span class="input-group-addon"></span>
<select class="form-control select-group" style="width:100%" id="sector" name="sector" data-placeholder="Client sector">
<option value=""></option>
{{#each selectSectors}}
<option value={{key}}>{{name}}</option>
{{/each}}
</select>
</div
和JS:
Template.createclient.onCreated(function() {
this.subscribe("lkp_sectors"); // commenting this out allows the select2 to be created
});
Template.createclient.onRendered(function() {
$(".select-group").select2();
});
Template.createclient.helpers({
selectSectors() { return listSectors(); }
});
我在这里创建了完整代码的jsfiddle - https://jsfiddle.net/nm2xnqdg/