为了账号安全,请及时绑定邮箱和手机立即绑定

js中订阅者和观察者能否给一个实际开发中用例子?

js中订阅者和观察者能否给一个实际开发中用例子?

慕姐4208626 2019-05-22 18:13:42
网上到处都是订阅者和观察者的代码实现,现在不知道什么场景,或者更简单实际的例子说明一下问题?
查看完整描述

2 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

真实的例子——网站登录
假如我们正在开发一个商城网站,网站里有header头部、nav导航、消息列表、购物车等模块。
如果它们和用户信息模块产生了强耦合,比如下面这样的形式:
login.succ(function(data){
header.setAvatar(data.avatar);//设置header模块的头像
nav.setAvatar(data.avatar);//设置导航模块的头像
message.refresh();//刷新消息列表
cart.refresh();//刷新购物车列表
});
等到有一天,项目中又新增了一个收货地址管理的模块,这个模块本来是另一个同事所写的,在最后部分加上这行代码:
login.succ(function(data){
header.setAvatar(data.avatar);
nav.setAvatar(data.avatar);
message.refresh();
cart.refresh();
address.refresh();//增加这行代码
});
我们就会越来越疲于应付这些突如其来的业务要求,要么跳槽了事,要么必须来重构这些代码。摘自个人博客:订阅者实际应用
                            
查看完整回答
反对 回复 2019-05-22
?
跃然一笑

TA贡献1826条经验 获得超6个赞

比如Vue、React等等框架中
视图层的输入能影响到模型层,反之亦然,即双向绑定
这里的怎么影响,就是靠订阅者观察者,因为js没有Java之类语言有的反射能力,只能靠这个去做一些数据绑定的事情。
                            
查看完整回答
反对 回复 2019-05-22
  • 2 回答
  • 0 关注
  • 328 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信