![]() |
Как отловить ситуацию: инстансу динамического класса добавляется новое свойство?
Вот, что имеется в виду: Есть dynamic class Foo. Создаем его инстанс -> var foo = new Foo();
дальше создаем у него свойство таким образом: foo.someProp = 'abc'; ни __resolve ни addProperty в таком случае не вызывается, а что же тогда вызывается? Как можно узнать, что произошла попытка создать свойство? |
1. Это действительно так необходимо? Нельзя ли изменить структуру проекта так, чтобы избежать добавления свойств в рантайме?
2. Я бы сделал так: написал бы класс с названием типа PropertyAdder и статическим методом addProperty(instance, property, value) . А при вызове метода делал бы экземпляру класса __resolve или addProperty - как захочется |
Код:
XMLC.prototype.__resolve = function (p) {T.e. если делать так: хml.@['attributeName'] = 'abc'; то работает, но это не красиво =) |
Резидентных методов отловить данное событие нет.
Однако можно организовать циклическую проверку на существование свойства в объекте класса, хотя это вариант расточителен. |
| Часовой пояс GMT +4, время: 19:01. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.