弹出窗口不适用于 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>
在 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>