富贵资源网 Design By www.hznty.com
观察者模式意图
定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。
实现过程
在老师教程中学到了 Angularjs 中的观察者模式
不使用观察者模式,登录时不实时获取当前登录用户,必须刷新界面
使用观察者模式
代码
Services:
// 观察者 self.observerCallbacks = []; // 注册观察者 self.reisterObserverCallback = function(callback){ self.observerCallbacks.push(callback); }; // 通知观察者 self.notifyObserver = function(currentLoginTeacher){ angular.forEach(self.observerCallbacks, function(callback){ callback(currentLoginTeacher); }); };
Controller:
// 注册观察者 teacher.reisterObserverCallback(function(teacher){ $scope.data.CurrentLoginTeacher = teacher; });
使用时调用self.notifyObserver
方法。只要是注册过的观察者都会得到一个通知。
时序图
总结
观察者模式:我觉得用一个词来总结,就是群发。
当一个对象发生改变的同时,需要其他对象也改变,但是并不知道具体有多少个对象改变。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
富贵资源网 Design By www.hznty.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
富贵资源网 Design By www.hznty.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。