我的代码类似于this fiddle中示例的KO部分。
我需要添加滑块范围值 [min,max]的动态初始化,因此我替换了javascript的第32行
ko.applyBindings(new model());
通过
var r = new model();
ko.applyBindings(r);
r.min(2222);
r.max(3333);`
2个输入文本已更新,但滑块未更新。
为什么不呢? ...以及如何让滑块显示初始化范围?
答案 0 :(得分:0)
您必须确保只要通过代码(而非通过用户界面)更新min
或max
,就会调用滑块updateOptions
。
这可以通过手动订阅model.min
和model.max
,或将逻辑放在ko.computed
内来完成。必须在自定义绑定的init
方法内创建依赖项。绑定元素后,此函数将执行一次。
ko.computed(function() {
element.noUiSlider.updateOptions({
range: {
'min': model.min(),
'max': model.max()
}
});
});
如果您打算经常从DOM中删除这些元素并将其重新添加到DOM中,请确保附加正确的处理逻辑。