interface Iserver {
nameChange (value:string):void;
}
// 观察者
class GUser implements Iserver {
nameChange (value:string) {
document.write("监听到当前修改了数据"+ value+"\n\r");
}
}
// 监听
class people {
private _name:string = "";
jianting :Array<Iserver> = new Array<Iserver>;
set name(value:string) {
this._name = value;
for (let obj of this.jianting) {
obj.nameChange(this._name);
}
}
get name ():string {
return this._name;
}
}
let Pos = new people();
let test = new GUser();
let test2 = new GUser();
Pos.jianting.push(test);
Pos.jianting.push(test2);
Pos.name = "张三"
Pos.name = "李四"
Pos.name = "王麻子"
09-15
854
08-31
2057
08-27
5005
05-31