Вход

Просмотр полной версии : Контекст this в QML


GayCoder
07.02.2016, 18:25
vanished

destus
07.02.2016, 18:36
В отличие от большинства событий в клиентском JavaScript, обработчику onreadystatechange не передается объект события.

GayCoder
12.02.2016, 20:58
vanished

destus
12.02.2016, 21:05
О каком объекте события речь? Точнее это совсем непричем. Просто создатели фреймворка this переопределили. Я так понял это обычный движок v8. Там qml в javascript транслируется. Вещь хорошая, но сырая. Там какие нить квадратики нарисовать писдец как просто по сравнению с обычным кьютом. А вот как захочешь контекстное меню сделать или переопределить нетрадиционное поведение тамошнего вебвиева - начинается секс. Проще в дизайнере нарисовать эти сранные формы и скомпилировать, чем с этим говном из вложенных скобок разбираться.

Если есть объект XHR и вызывается обработчик события onreadystatechange, то в этом обработчике this не будет ссылаться на объект XHR. В отличие от других клиентских событий.

nodequest
12.02.2016, 23:12
Если есть объект XHR и вызывается обработчик события onreadystatechange, то в этом обработчике this не будет ссылаться на объект XHR. В отличие от других клиентских событий.
что за чушь? Как раз на XHR он и ссылается

xhr = new XMLHttpRequest
xhr.open("get", "http://javascript.ru")
xhr.onreadystatechange = function(){alert(this)}
xhr.send()

nodequest
12.02.2016, 23:15
destus,
И кстати, это не "объект-событие", а объект-клиент. Он сам слушает событие.

destus
12.02.2016, 23:23
что за чушь? Как раз на XHR он и ссылается

xhr = new XMLHttpRequest
xhr.open("get", "http://javascript.ru")
xhr.onreadystatechange = function(){alert(this)}
xhr.send()


Книга Флэнагана стр.500

nodequest
12.02.2016, 23:37
destus,
И чо? Мне подрачить на нее?

nodequest
12.02.2016, 23:43
destus,
Тут еще важно уточнить, что вы имеете в виду под "объектом XHR" класс или экземпляр. связывание происходит с экземпляром, естественно.

clecar
13.02.2016, 00:17
О каком объекте события речь? Точнее это совсем непричем. Просто создатели фреймворка this переопределили. Я так понял это обычный движок v8. Там qml в javascript транслируется. Вещь хорошая, но сырая. Там какие нить квадратики нарисовать писдец как просто по сравнению с обычным кьютом. А вот как захочешь контекстное меню сделать или переопределить нетрадиционное поведение тамошнего вебвиева - начинается секс. Проще в дизайнере нарисовать эти сранные формы и скомпилировать, чем с этим говном из вложенных скобок разбираться.

Точто отмемеченою. я this, возможно просто не дорос-игнорирую, прикол в использовании в начале неизбежен. Однако уверен когда разберусь и я пойму ,и вероятно использую. Эти скрипты виликолепно работают, правда решают, то о чём мне и в голову не приходило задуматься, а решение возможно упростит все мои программы.