在包中呈现的流星模板

时间:2015-04-06 15:53:28

标签: jquery meteor

是否可以做这样的事情:

  Template.hello.rendered = function() {
    $("#timepicker-default").timepicker();
  };

包内,独立于实际模板名称。

忽略上述伪代码的任何其他问题,我想知道的是如何从包中选择DOM元素。是否可以编写一个可以找到带有data-attribute或timepicker类的input元素的包,并生成插入该元素id的上述代码?

所以你可以把你的标记写成

<input id="mytimepicker" type="text" data-timepicker="default">

包装将处理其余部分。

1 个答案:

答案 0 :(得分:1)

我认为最快的解决方案是使用template-extension包。您可以访问onRendered钩子,每次呈现应用中的任何模板时都会触发。

$ meteor add aldeed:template-extension

Template.onRendered(function () {
  this.$('input[data-timepicker]').timepicker();
});

将上述内容放在client目录中的任意位置,它应该选择正在设置data-timepicker属性的模板中的所有输入。

如果您需要在套餐中使用此功能,只需在api.use('aldeed:template-extension');中添加package.js