在Angular SPA應用程序中,登錄屏幕基於$ rootScope中的ng-show指令變量顯示/隱藏。Angular JS - 頁面顯示的登錄屏幕在應用程序刷新(F5)
如果用戶在主頁並刷新頁面(F5),登錄屏幕顯示爲完成頁面刷新並丟失根範圍變量值。
如何解決這個問題?
代碼示例::
<body ng-controller="mainController">
<div class="container" ng-controller="schoolLoginCtrl"
ng-show="showLogin">
<form class="form-signin" ng-submit="login()">
<h2 class="form-signin-heading">Login Page</h2>
<label for="userName" class="sr-only">User Name</label> <input
type="text" id="userName" ng-model="user.userName"
class="form-control" placeholder="User Name" required autofocus>
<label for="inputPassword" class="sr-only">Password</label> <input
type="password" id="inputPassword" ng-model="user.password"
class="form-control" placeholder="Password" required>
<div class="alert alert-danger">{{errorMsg}}</div>
<button class="btn btn-lg btn-primary btn-block" type="submit">Sign
in</button>
</form>
</div>
<div class="container" ng-show="!showLogin">
<div ng-view></div>
</div>
.controller('mainController', function($scope, $rootScope,
$location) {
$rootScope.showLogin = true;
});
這對我有效步驟我跟着。 2)添加'ngCookies'角模塊 3)將$ cookies添加到控制器 4)if($ cookies.get(''ss =「js/lib/angular-cookies.min.js」) showLogin')!== undefined){ \t \t \t console.log(「update cookie」); \t \t \t $ rootScope.showLogin = $ cookies.get('showLogin'); \t \t \t $ cookies.put('showLogin',$ cookies.get('showLogin')); \t \t} else { \t \t \t $ rootScope.showLogin = true; \t \t \t console.log(「add cookie」); \t \t \t $ cookies.put('showLogin',true); \t \t} – Madhu