PDA

Просмотр полной версии : watch для обьектных переменных


processor
05.09.2005, 00:42
Могу ли я отслеживать переменную в обьекте. Причём отслеживание включается при создании обьекта.
типа такого, но это не работает. Т.е. при изминении "q" , автоматически должон вызываться метод "t" .

function obj(){
this.q
this.watch (this.q, this.t)
this.t=function (){ trace (this.q) }
}

z=new obj()
z.q=10

artcraft
05.09.2005, 04:31
пардон, не дочитал вопрос.

processor
05.09.2005, 04:45
Это не то.

watch должон запускаться при создании обьекта и находиться в его теле.

Получается сделать: this.watch ("q", fun ) , но FUN - это внешняя функция, а не метод обьекта. Можно ли хотябы передать внешней ?функции имя обьекта или сам обьект: this.watch ("q", fun, this )
- но передается только имя переменной "q".

Aurum
05.09.2005, 09:03
watch должон запускаться при создании обьекта и находиться в его теле.


Тогда создавай класс с конструктором, который и будет запускать watch.

Dimchansky
05.09.2005, 11:23
Class=function(){
this.a=false;
this.watch("a", this.WatchMethod)
}
...
Class.prototype.WatchMethod =function (prop,oldVal,newVal){
if {oldVal !=newVal) trace ("property has changed!");
return newVal ;
}
....