Ваш "this" объем неверен. Вы используете 'this' внутри анонимной функции. Внутри этой функции «this» относится к самой функции, а не к классу, к которому вы, вероятно, стремились. Я не вижу остальную часть вашего класса, но я вижу, что область действия this не имеет свойства mod, поэтому ваш код не будет работать там. Вот почему вы получаете эту «не определенную» ошибку: «this.mod» не существует.
Я вижу 3 решения (это зависит от того, как выглядит остальная часть вашего кода, но одно из них должно соответствовать вашим потребностям):
- Просто удалите «это». Ваш ученик 'mod' будет затем правильно ссылаться.
- Преобразуйте эту анонимную функцию в функцию уровня класса. Затем this указывает на этот класс, а не на функцию.
- Создайте псевдоним для 'this' вне анонимной функции.
Какой-то код объяснит, что последний лучше:
var myClass:MyClass = this;
m.addEventListener(ModuleEvent.READY, function(e:Event):void
{
myClass.mod.addChild(m.factory.create() as DisplayObject);
});