2013-08-19 67 views
1

任何人都可以解釋爲什麼這淘汰賽劍道RadialGauge指針過渡不工作

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,2.0.3的JQuery,劍道UI DataViz公司2013.2.716

+1

當您指定任何KO「已跟蹤」選項(標準區域,指針,比例)時,標尺將由紅色方法重新繪製。本身它不應該導致轉換的丟失,但KO也會用'this.value(0.001 + this.value());稍微改變標尺的值;'[source](https://github.com/kendo-實驗室/基因敲除-kendo/blob/master/src/knockout-kendo-core.js#L272)導致轉換丟失(刪除此行可修復您的問題)。我不知道爲什麼需要這個價值變化,也許自從一年前在劍道淘汰賽中增加Datawiz支持以來,劍道也發生了變化。 – nemesv

+0

是的,刪除你說的那一行修復了我的問題。如果你願意,你可以添加你的評論作爲答案,我會接受它。 – empo

回答

0

當你指定的任何KO 「跟蹤」 的選項(gaugeAreapointe R,scale)壓力錶被重新繪製由KO使用劍道的redraw method

它本身不應該導致過渡的丟失,但KO也會稍微改變導致過渡損失的標準值。上github

來源:

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

從源代碼中刪除此行解決您的問題,所以我會說這是淘汰賽,劍道錯誤。