AngularJS 中不可用时如何停止浏览器加载 localStorage 项目

How to stop browser loading localStorage Item when it's not available in AngularJS

假设我有一个导航栏,它在登录后显示个人资料图片。 我正在使用 Auth0 的锁,它在 localStorage 中设置用户配置文件。 img-src 来自 localStorage.

NavbarView.html

 <li ng-if="!lgin.isAuthenticated"><a ng-click="lgin.authService.login()">Sign in</a></li>
 <li ng-if="lgin.isAuthenticated" class="dropdown">
     <a href="" class="dropdown-toggle" data-toggle="dropdown">
     <strong>{{lgin.profile.name}}</strong>
     <img src="{{lgin.profile.picture}}" alt="{{lgin.profile.name}}">
                <span class="caret"></span></a>

loginController.js

 var lgin = this;
 lgin.isAuthenticated = $rootScope.isAuthenticated;
 var accessData = localStorage.getItem('profile');
 lgin.profile = angular.fromJson(accessData);

当用户进入主页时,浏览器一直在寻找 lgin.profile.picture(不可用,因为他们还没有登录),所以旋转器永远不会停止,除非登录。 如何纠正?

使用简单的条件。如果键不存在,getItem() 将 return 为 null

var accessData = localStorage.getItem('profile');
if(accessData ){
   lgin.profile = angular.fromJson(accessData);
}