使用订阅时,Select2未在Meteor.js中创建

时间:2017-01-08 10:36:32

标签: javascript node.js meteor jquery-select2 select2

好的 - 所以我遇到了一个使用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/

0 个答案:

没有答案