使用Materialise和Meteor时,我应该在哪里初始化select?

Avi*_*Dov 3 javascript jquery materialize meteor

我正在尝试在Meteor上使用Materialise Forms.在Materialise的页面上,它说我应该初始化"select"输入字段,如下所示:

$(document).ready(function() {
  $('select').material_select();
});
Run Code Online (Sandbox Code Playgroud)

我试过在Meteor.startup,Template.body.created上调用它 - 没有任何效果.我收到以下错误:

undefined不是一个函数(评估'$('select').material_select()')

我应该在哪里初始化它?

Aks*_*hat 5

使用模板的.rendered 回调

<template name="hello">
    <select><option>...</option></select>
</template>
Run Code Online (Sandbox Code Playgroud)

然后你可以在你的js文件中有这个

Template.hello.onRendered(function() {
    $('select').material_select();
});
Run Code Online (Sandbox Code Playgroud)

在渲染已经触发后,模板很可能被添加到主体中,这就是为什么渲染的主体不起作用.如果你使用.createdDOM尚未渲染.