我有一个线性仪表,根据作为参数传递的对象中的值产生一些标签,如下所示: function createGauges(conveyanceId,maxDepthRange){
$("#depthBar-" + conveyanceId).kendoLinearGauge({
pointer: {
value: 0,
shape: "arrow",
color: "transparent",
start: 0,
reverse: true
},
scale: {
majorUnit: 800,
minorUnit: 400,
min: 0,
max: maxDepthRange,
labels: {
template: getLabel
},
vertical: false,
reverse: false,
ranges: [{
from: 0,
to: 0,
color: "dodgerblue"
}
]
}
});
目前,getLabel方法看起来像这样:
function getLabel(e) {
if (e.value === 12000) {
return e.value;
}
else if (e.value === 0) {
return e.value;
}
else {
return '';
}
}
就目前而言,这可以正常工作,因为max: maxDepthRange
实际上是12000(从数据库中获取)。但是,每当maxDepthRange的值从12000变化时,我都希望getLabel方法能够处理这个问题,但我似乎无法弄清楚如何传递一个额外的参数。
这是我尝试过的,将getLabel调用设置为getLabel(e, maxDepthRange)
:
function getLabel(e, maxDepthVal) {
if (e.value === maxDepthVal) {
return e.value;
}
else if (e.value === 0) {
return e.value;
}
else {
return '';
}
}
有什么建议吗?
答案 0 :(得分:1)
将代码更改为:
labels: {
template: function(e) { return getLabel(e, 12000); } // maxDepthVal as 2nd param
},