# 解決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")
? ? ? {
? ? ? .................
? ? ? .................
? ? ? }
~~~
? ? ? 執行后效果:
?
### 美文美圖
?
- 前言
- (一)深入理解ANGULARUI路由_UI-ROUTER
- (二)AngularJS路由問題解決
- (四)ANGULAR.JS實現下拉菜單單選
- (五)Angular實現下拉菜單多選
- (六)AngularJS+BootStrap實現彈出對話框
- (七)實現根據不同條件顯示不同控件
- (十)AngularJS改變元素顯示狀態
- (十四)AngularJS靈異代碼事件
- (十七)在AngularJS應用中實現微信認證授權遇到的坑
- (十八)在AngularJS應用中集成科大訊飛語音輸入功能
- (十九)在AngularJS應用中集成百度地圖實現定位功能
- (二十一)Angularjs中scope與rootscope區別及聯系
- (二十三)ANGULAR三宗罪之版本陷阱
- (二十四)AngularJS與單選框及多選框的雙向動態綁定
- (二十五)JS實現導入文件功能
- (二十七)實現二維碼信息的集成思路
- (二十八)解決AngualrJS頁面刷新導致異常顯示問題
- (二十九)AngularJS項目開發技巧之localStorage存儲
- (三十)AngularJS項目開發技巧之圖片預加載
- (三十一)AngularJS項目開發技巧之獲取模態對話框中的組件ID
- (三十二)書海拾貝之特殊的ng-src和ng-href
- (三十三)書海拾貝之簡介AngularJS中使用factory和service的方法
- (三十四)Angular數據更新不及時問題探討
- (三十六)AngularJS項目開發技巧之利用Service&Promise&Resolve解決圖片預加載問題(后記)