vue 特点数据变化 更新视图,监控数据变化,数据变化后徐亚更新视图。
class Subject {
constructor() {
this.evtArr = []
this.state = '50%'
}
attach(o) {
this.evtArr.push(o)
}
setState(newState){
this.state = newState;
this.evtArr.forEach((item)=> item.updata(newState))
}
}
class Observer {
constructor(name){
this.name = name;
}
updata(state){
console.log(`${this.name}说: 工作完成了${state}`)
}
}
let manager = new Observer('经理')
let design = new Observer('设计')
let developer = new Subject()
developer.attach(manager)
developer.attach(design)
developer.setState('70%');
developer.setState('90%');