1
我有一个观察的名为foo,然后计算该互联,富KnockoutJS - jQuery Mobile的范围栏没有更新
foo = ko.observable();
bar = ko.computed(function(){
read: function() {
var blah = parseFloat(self.foo()),
qux = blah + 1;
return qux;
},
write: function(value)
{
value = parseFloat(value);
self.foo(value - 1);
},
});
我有这个文本框
<input type="text" name="foo" id="foo" placeholder="Foo" class="border-bottom" data-bind="value: foo"/>
而且我有这个jQuery Mobile的Range Slider
<input class="ratio" type="range" name="slider-percent" min="0.00" max="100.00" data-highlight="true" step="0.1" data-bind="value: bar"/>
然后调用标记为KO
<pre data-bind="text: ko.toJSON($data, null, 2)"></pre>
这里有一些问题,我有
- 当我更新
foo
文本框,我看到的通过调试标记bar
变化值,但它并没有在实际的滑块反映。 - 当我尝试移动滑块时,没有任何反应。
foo
和bar
均未更新。
有没有办法解决这个问题?
感谢您的回复pax162。我测试了jsfiddle。在我看来,当我移动滑块时,它仍然不会更新'foo'可观察值。我用这两个变量的目标是,如果一个变化,另一个变化。当'foo'改变时你的代码更新,当我移动滑块时''foo'不会更新。 – arvinsim
我改变了'self.share(value-1)',因为它应该是'self.foo(value-1)'。我不确定你为什么评论它。我取消了评论,然后它在jsfiddle中运行良好。 – arvinsim
好,现在可以运作了吗? – pax162