Здравствуйте, cgibin, Вы писали:
C>Здравствуйте, c-smile, Вы писали:
CS>>Get/SetItem by index это очень low level операция. Делать для неё undefined item handler не представляется возможным.
C>Тады ой
Будем по-старинке — saveStyle(name, value)
CS>>Да и чем он тебе поможет-то? Есть два случая: модификация существующего member и добаление нового.
C>Да, тут всё же речь идёт о возможности подписки на операции Get/SetItem by index
Ну зачем по старинке. А давай забабахаем прокси класс:
class StyleProxy
{
function this(obj)
{
this.obj = obj;
}
function commit()
{
// commit and save
for(i in this)
{
if( obj[i]] )
{
saveStyle(i.toString(), this[i]);
obj[i] = this[i];
}
}
}
}
потом:
var persistentStyle = StyleProxy(realStyle);
persistentStyle["background-color"] = color("red");
persistentStyle.commit();
Не проверял, но схема приблизительно такая.