弹出窗口不适用于 ngRoute

Popup doesn't work with ngRoute

在 Web 应用程序中,登录后,用户会看到一个页面,其中有一个用于打开 css 弹出窗口的按钮。它有效,但是当我将项目放在 phonegap 中并使用 ngRoute 时,弹出窗口不起作用,因为它总是 return 在登录页面中。

用户第一次登录时,会发现除了一个打开弹出窗口的按钮外,他全部被禁用。当他关闭弹出窗口时,他可以继续浏览。为此,我保存在 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>

Angular首页代码:

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; }

index页面的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' });
}])

实际上,当我尝试打开弹出窗口时,我返回了登录页面。

<a href="#popup" ng-click="open();"><img  ng-src="img.png" /></a> 

会将您引导至例如localhost:9000/#弹出。 这个路由没有在你的routeProvider中声明,所以他会跳转到登录。 要跳转到您的主页,请按以下方式操作:

<a href="#/" ng-click="open();"><img  ng-src="img.png" /></a>