是否可以做这样的事情:
Template.hello.rendered = function() {
$("#timepicker-default").timepicker();
};
包内,独立于实际模板名称。
忽略上述伪代码的任何其他问题,我想知道的是如何从包中选择DOM元素。是否可以编写一个可以找到带有data-attribute或timepicker类的input元素的包,并生成插入该元素id的上述代码?
所以你可以把你的标记写成
<input id="mytimepicker" type="text" data-timepicker="default">
包装将处理其余部分。
答案 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
。