1

谁能解释为什么

js:

var ViewModel = function() {
   this.myValue = ko.observable(25);
};

ko.applyBindings(new ViewModel());

html:

<div data-bind="kendoRadialGauge: myValue"> </div>

当数据绑定值更改时,将允许指针很好地转换到新值。

但是,当传递其他选项时,像这样

js:

var ViewModel = function() {
this.myValue = ko.observable(25);

//various gauge settings omitted for brevity

this.pointerOptions = ko.computed(function() {
       return { color: this.pointerColor(), value: this.myValue() };
   }, this);
};

ko.applyBindings(new ViewModel())

html:

<div data-bind="kendoRadialGauge: { value: myValue, gaugeArea: gaugeOptions, pointer: pointerOptions }"> </div>

...指针只是立即跳转到新值。

淘汰赛 2.3.0、JQuery 2.0.3、剑道 UI Dataviz 2013.2.716

4

1 回答 1

0

当您指定任何 KO “跟踪”选项 ( gaugeArea, pointer, ) 时,KO 会使用 Kendo 的方法scale重新绘制仪表。redraw

它本身不应该导致过渡丢失,但 KO 也会稍微改变仪表的值,从而导致过渡丢失。

github上的来源:

this.value(0.001 + this.value());

从源代码中删除这一行可以解决您的问题,所以我会说这是 Knockout-Kendo 中的错误。

于 2013-09-02T14:48:18.073 回答