从 KO 绑定初始化 NoUiSlider [最小,最大] 范围值



我的代码类似于这个小提琴中示例的KO部分。

我需要添加滑块的范围[min, max] 的动态初始化,所以我替换了 javascript 的第 32 行

ko.applyBindings(new model());

var r = new model();
ko.applyBindings(r);
r.min(2222);
r.max(3333);`

2 个输入文本已更新,但滑块未更新。

为什么不呢?。。。以及如何让滑块显示初始化范围?

必须确保每当通过代码(而不是通过 UI)更新minmax时,都会调用滑块的updateOptions

这可以通过手动订阅model.minmodel.max来完成,或者通过将逻辑放在ko.computed中来完成。必须在自定义绑定的init方法中创建依赖项。此函数在绑定元素时执行一次

ko.computed(function() {
element.noUiSlider.updateOptions({
range: {
'min': model.min(),
'max': model.max()
}
});
});

如果您计划经常从 DOM 中删除和重新添加这些元素,请确保附加正确的处置逻辑。

最新更新