在meteor中初始化No UI Slider的多个实例

如何在Meteor中初始化无UI滑块的多个实例? 我想在页面上有多个滑块。

我一直在努力……

模板:

  

JS:

 Template.task.rendered = function() { $('#slider'+this._id).noUiSlider({ start: 5, connect: "lower", step: 0, format: wNumb({ decimals: 0, }), range: { 'min': 0, 'max': 10 } }); $('#slider'+this._id).Link('lower').to($('#range'+this._id)); }; 

调用this._id不会做任何事情……不管怎样,它需要遍历所有的postID,直到匹配为止,比如在做Tasks.findOne(); 并与DOM中的最新情况进行比较。

如果有更好的方法这样做…请告诉我!

编辑:

我更新了我的代码,遵循其他实例的结构,其中插件在同一页面上多次初始化,使用$ this和.each

模板:

 

JS:

  Template.task.rendered = function() { $('.slider').each(function() { var $this = $(this); $this.noUiSlider({ start: 5, connect: "lower", step: 0, format: wNumb({ decimals: 0, }), range: { 'min': 0, 'max': 10 } }); $this.Link('lower').to($('.range')); }); }; 

在控制台中,这给了我错误,“错误:滑块已经初始化。”

我需要把’这个’放在正确的地方……

  Template.task.rendered = function () { this.$('.slider').noUiSlider({ start: 5, connect: "lower", step: 0, format: wNumb({ decimals: 0, }), range: { 'min': 0, 'max': 10 } }); this.$('.slider').Link('lower').to(this.$('.range')); } 

看看RateIt,一个具有类似用法的插件帮我搞清楚了。