在Web应用程序中,登录后,用户会看到一个页面,其中有一个用于打开css弹出窗口的按钮。它有效,但是当我把项目放在phonegap中并使用ngRoute时,弹出窗口不起作用,因为它总是在登录页面返回。
用户第一次登录时,除了打开弹出窗口的按钮外,他将被发现全部被禁用。当他关闭弹出窗口时,他可以继续浏览。为此,我保存在cookie弹出状态。
这是主页中的弹出窗口:
<div class="icon-wrapper">
<a href="#popup" ng-click="open();"><img ng-src="img.png" /></a>
</div>
<!-- Popup -->
<div class="overlay" id="popup" ng-class="$storage.hide">
<p>Test</p>
<button ng-click="close();">Close popup</button>
主页的角度代码:
var app = angular.module('Home', ['ngStorage']);
app.controller('HomeController', function($scope, $http, $localStorage){
$scope.hide = "hide";
$scope.$storage = $localStorage.$default({
hide: $scope.hide
});
$scope.close = function () {
window.location = '#';
};
$scope.open = function () {
$scope.$storage.hide = "show";
};
}); // End controller
CSS
.hide { display: none;}
.show { display: block; }
索引页面的JS文件(其中有ng-view):
angular.module('Authentication', []);
angular.module('Home', []);
angular.module('BasicHttpAuthExample', [
'Authentication',
'Home',
'ngRoute',
'ngCookies',
'ngStorage'
])
.config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when('/login', {
controller: 'LoginController',
templateUrl: 'js/modules/authentication/views/login.html',
hideMenus: true
})
.when('/', {
controller: 'HomeController',
templateUrl: 'js/modules/home/views/home.html'
})
.otherwise({ redirectTo: '/login' });
}])
实际上,当我尝试打开弹出窗口时,我会在登录页面中返回。
答案 0 :(得分:0)
<a href="#popup" ng-click="open();"><img ng-src="img.png" /></a>
会引导您前往,例如本地主机:9000 /#弹出。 此路由未在您的routeProvider中进行delcared,因此他将跳转到登录。 要跳转到您的主页,请执行以下操作:
<a href="#/" ng-click="open();"><img ng-src="img.png" /></a>