解決AngualrJS頁面刷新導致異常顯示問題
緒
俗話說,細節(jié)決定成敗,編程亦是如此。編程過程中我們可能會不自覺的忽視一些細節(jié)問題,殊不知,這些細節(jié)正是導致頁面顯示出現(xiàn)問題的地方。今略舉一例,與君共勉之。
頁面正常加載后,顯示如下:
按F5刷新之后,頁面如下所示:
很明顯,頁面顯示出現(xiàn)了異常。回過頭再看看Chrome的錯誤提示,
具體代碼如下:
正是以上代碼導致了錯誤的發(fā)生。
追根溯源
讓我們回顧一下,錯誤到底是如何發(fā)生的。正常加載情況下,頁面正常顯示很容易理解,程序是按照既定的數(shù)據(jù)流走的。但是按F5刷新之后,$stateParams.uid已經(jīng)不存在了,此時再次調(diào)用就會出現(xiàn)undefined的錯誤,導致頁面加載出現(xiàn)異常。
如何解決這類問題呢?
首先應在語句執(zhí)行之前添加變量判斷語句,若變量存在且不為空,則可繼續(xù)執(zhí)行其它流程。代碼如下:
$scope.pageNumber = 1; // 起始查詢頁碼 $scope.totalItems = 0; // 查詢數(shù)據(jù)總數(shù) $scope.pageCnt = 1; // 初始化總頁數(shù) if($stateParams.uid != "" && $stateParams.uid != null && typeof(instance.shopStatementDtl) != "undefined") { ................. ................. }
執(zhí)行后效果:
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關文章
解決三元運算符 報錯“SyntaxError: can''''t assign to conditional expre
在本篇文章里小編給大家整理的是關于python三元運算符 報錯“SyntaxError: can't assign to conditional expression”的處理方法,需要的朋友們學習下。2020-02-02AngularJS之自定義服務詳解(factory、service、provider)
本篇文章主要介紹了AngularJS之自定義服務詳解(factory、service、provider),具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-04-04