解决AngualrJS页面刷新导致异常显示问题

俗话说,细节决定成败,编程亦是如此。编程过程中我们可能会不自觉的忽视一些细节问题,殊不知,这些细节正是导致页面显示出现问题的地方。今略举一例,与君共勉之。

页面正常加载后,显示如下:

按F5刷新之后,页面如下所示:

很明显,页面显示出现了异常。回过头再看看Chrome的错误提示,

具体代码如下:

正是以上代码导致了错误的发生。

追根溯源

让我们回顾一下,错误到底是如何发生的。正常加载情况下,页面正常显示很容易理解,程序是按照既定的数据流走的。但是按F5刷新之后,$stateParams.uid已经不存在了,此时再次调用就会出现undefined的错误,导致页面加载出现异常。

如何解决这类问题呢?

首先应在语句执行之前添加变量判断语句,若变量存在且不为空,则可继续执行其它流程。代码如下:

$scope.pageNumber   = 1; // 起始查询页码

$scope.totalItems   = 0; // 查询数据总数

$scope.pageCnt = 1; // 初始化总页数

if($stateParams.uid != "" && $stateParams.uid != null && typeof(instance.shopStatementDtl) != "undefined")

{

.................

.................

}

执行后效果:

美文美图

最新文章

  1. 解决apache启动错误"httpd:Could not reliably determine..."
  2. Android Studio调试功能使用总结【转】
  3. Android 主页面顶部栏的通知Notification ,可以自定义通知消息栏的风格,并且点击通知栏进人本程序。
  4. 一个有趣的IE内核检测网站
  5. python之路 之open
  6. nyoj 103 A + B problem II
  7. hdu2078
  8. 9、NFC技术:NDEF文本格式解析
  9. android103 内容观察者
  10. C#面向对象基础:virtual方法,abstract方法,区别
  11. UI 响应者链
  12. python编程快速上手之第9章实践项目参考答案
  13. UWP ListView下模板宽度问题
  14. ajax介绍及使用
  15. 《尚学堂_史上最易懂的设计模式视频》--章节5 动态代理-JDK6自带的编译器
  16. 博主自传——蒟蒻的OI之路
  17. Mysql for Linux安装配置之——二进制安装
  18. Python中的元类(译)
  19. 按照Right-BICEP要求设计四则运算2程序的单元测试用例
  20. Linux安装JDK详细步骤(rpm方式)

热门文章

  1. JAVA中的枚举类
  2. Linux搭建lamp(Apache+PHP+Mysql环境)centos7.2版详细教程
  3. PHP MySQL 插入数据
  4. Docker 备份、恢复、迁移数据卷
  5. 守护态运行Docker容器
  6. PHP 文件下载 浅析
  7. Web自动化框架LazyUI使用手册(7)--浏览器常用操作API
  8. LuaHotUpdate原理
  9. Android 异步查询框架AsyncQueryHandler的使用
  10. 我的第一个RootKit,支持XP、Vista、Win7、Win8 RTM 32位