Обработка событий ArrowIndicator в Dojo

У меня есть калибровочная диаграмма с одним стрелочным индикатором. Я пытаюсь зафиксировать событие изменения значения на стрелкеIndicator. Я попробовал методы dojo.connect() и on(), чтобы установить обработчик событий для моего датчика, но оба раза потерпел неудачу. Это то, что я сделал...

var arrow = new dojox.gauges.AnalogArrowIndicator({....});

dojo.connect(arrow, 'change', handlerFunction);

А ТАКЖЕ

var arrow = new dojox.gauges.AnalogArrowIndicator({....});
define(["dojo/on"], function(on){
on(arrow, "change", myHandleFunction);
});

Я не получаю никаких сообщений об ошибках или что-то в этом роде... Как мне это сделать?


person martskins    schedule 05.04.2012    source источник


Ответы (1)


событие valuechange отображается на уровне калибровочной диаграммы:

dojo.connect(gauge.indicators[0], "valueChanged", dojo.hitch(gauge, function(){
  //new value is in this.indicators[0].value
}));

где калибровка — это переменная jsid или js, содержащая цифру калибровки

в зависимости от того, как вы добавляете индикаторы, это могут быть индикаторы[1] или подобные

person Vijay Agrawal    schedule 05.04.2012
comment
Потрясающий!! Это мои первые шаги в Додзё, и это немного сбивает с толку. БЛАГОДАРНОСТЬ! - person martskins; 06.04.2012
comment
Отлично - рад помочь. Да, там много всего, и хотя разработчики додзе пытаются документировать вещи, есть скрытые функции/жемчужины, которые еще предстоит обнаружить :-).. Комбинация ночных тестов додзё, изучение исходного кода и вики/документов предоставит вам все необходимое, а также додзе полностью расширяемо, поэтому вы можете переопределять части виджетов и расширять их. - person Vijay Agrawal; 06.04.2012
comment
Раз уж мы в теме. Как мне изменить значение датчика программно? Я попробовал оба Gauge.indicators[0].set('value', myValue) и Gauge.set('value', myValue) - person martskins; 07.04.2012
comment
на самом деле индикатор, кажется, предоставляет метод update(). См. archive.dojotoolkit.org/nightly/dojotoolkit/dojox/gauges. /tests/ для примера установки значения. Также тесты по адресу: archive.dojotoolkit.org/nightly/dojotoolkit/dojox/ датчики/тесты — хорошее место для поиска функций и примеров - person Vijay Agrawal; 07.04.2012
comment
ничего ... Я имею в виду, может быть, я пропустил какое-то обновление по рендерингу или что-то в этом роде. Я отладил и вижу значение = myValue на объекте индикатора, но диаграмма датчика вообще не переходит к myValue. Может быть, какое-то обновление или обновление отсутствует? - person martskins; 07.04.2012