Я использую этот код для создания пользовательского класса Event:
package evt {
import flash.events.EventDispatcher;
import flash.events.Event;
public class OtherEvent extends Event {
public static const OTHER:String = "OtherEvent";
public var data:*;
public function OtherEvent(type:String, data:*) {
this.data = data;
super(type, true);
}
}
}
Это позволяет мне легко передавать объекты, которые я найду в свойстве data, так что если я передам:
var d = {point:50};
dispatchEvent(new OtherEvent(OtherEvent.OTHER,d));
Я найду значение ключа 'point', написав evt.data.point
.
Дело в том, что при компиляции я получаю сообщение об ошибке 1202 (доступ к неопределенным данным свойств в пакете evt).
Странная вещь заключается в следующем:
ошибка появляется только тогда, когда я использую точка синтакс:
например. trace(evt.data.point);
Я не получаю ошибку, когда пишу: trace(evt['data']['point']);
Не могли бы вы помочь мне понять, что происходит и почему?
РЕДАКТИРОВАТЬ: в строгом режиме первый блокирует что-либо. Когда я не в строгом режиме, я получаю ReferenceError # 1075 переменная evt :: data не определена.