编辑:这个问题不再有效,因为我停止使用 NoUiSlider 包。请参阅下面的答案,了解我为此做了什么。
我正在尝试为每个任务设置一个实时进度条,当我进入页面时,我希望滑块具有来自集合字段的起始值。
目前它甚至没有出现。一旦我将“start:progressNow”更改为“start:0”,它只在客户端工作,不会保存/更改数据库上的任何内容。
内部方法:
addTask: function (projectId, text, description, due, progress) {
check(projectId, String);
check(text, String);
if (!this.userId) {
throw new Meteor.Error(403, 'not-authorized');
}
Tasks.insert({
text: text,
createdAt: new Date(),
owner: this.userId,
username: Meteor.user().username || Meteor.user().profile.name,
projectId: projectId,
taskDescription: description,
due: due,
progress: 0
});
},
事件和渲染:
Template.task.events({
"change .slider": function () {
var progressVal = this.noUiSlider.value;
Tasks.update({
progress: progressVal
})
},
});
Template.task.rendered = function () {
var progressNow = return Tasks.findOne({_id: this._id}).progress;
this.$('.slider').noUiSlider({
start: progressNow,
connect: "lower",
step: 0,
format: wNumb({
decimals: 0,
}),
range: {
'smin': 0,
'max': 100
}
});
this.$('.slider').Link('lower').to(this.$('.range'));
};