let uid = 0;
export default class Dep {
constructor() {
this.id = uid++;
this.subs = [];
}
addSub(sub) {
this.subs.push(sub);
}
removeSub(sub) {
remove(this.subs, sub);
}
depend() {
if (window.target) {
window.target.addDep(this);
}
};
removeSub(sub) {
const index = this.subs.indexOf(sub);
if (index > -1) {
return this.subs.splice(index, 1);
}
}
notify() {
const subs = this.subs.slice();
for (let i = 0, l = subs.length; i < l; i++) {
subs[i].update();
}
}
}