1 / 5
文档名称:

AngularJS进阶(三十四)Angular数据更新不及时问题探讨.doc

格式:doc   大小:105KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

AngularJS进阶(三十四)Angular数据更新不及时问题探讨.doc

上传人:小雄 2021/11/12 文件大小:105 KB

下载得到文件列表

AngularJS进阶(三十四)Angular数据更新不及时问题探讨.doc

相关文档

文档介绍

文档介绍:AngularJS进阶(三十四)Angular数据更新不及时问题探讨
Angular数据更新不及时问题探讨
前舌
在修复控制角标正确变化过程中,发觉前端代码组织层次出现了严重问题。传 递和共享数据时自己使用的是rootScope,为此造成了全局变量空间的污染。根据 《Angularjs深度剖析与最佳实践》,如果两个控制器的协作存在大量的数据共享 和交互可以利用Factory等服务的"单例”特性为它们注入一个共享对象来传递数据。 而自己在使用rootScope时,出现了变量不一致的情况。如下图所示:
14:43 @ A
0% O 至,nil 回 50
个人中心
, ********** >
。未收货59 ③已收货25 色通知
9 $ 色
地址管理 优惠券 用药提醒
殳 Q
账号管理 找药帮查询
客服电话:**********
首页 找药帮 购物车 我的
按照应用逻辑,“我的"角标变化应与“找药帮查询”角标变化一致。通过运行表明, "找药帮查询”角标存在变化异常的状况。通过阅读代码与调试,发现自己的业务逻 辑存在问题。业务代码如下:
/*
*更新我的徽标
*/
$ = function() {
if ( != '1') (
$ ='';
}else(
if ($ && $ ! =。){
$ = $; } else ( $ ='';
}
} } setTimeout(function()( $();
2*1000); // 2 秒后执行
其中$。其值来自于全局变量 $,而这个变量又来自于下面的方法体:
/*
*已响应查询找药小红点 */
$ = function(num) { (num);
$ = 0;
if (('medNoticeBadge')) {
= Number(('medNoticeBadge ')); $ += num;
} else (
+= num; } ('medNoticeBadge', );
$ =