我已经使用了角度js和acl在其他页面中工作正常但是当我进入主页时它会进入无限呼叫。
见下面是我的路线代码。
app.config(['$routeProvider','$locationProvider',
function ($routeProvider,$locationProvider,$q) {
$routeProvider.
when('/error', {
templateUrl: 'app/views/front/donotaccess.html',
controller: 'DonotaccessController',
title: ' denied'
}).
when('/home', {
templateUrl: 'app/views/front/home.html',
controller: 'HomeController',
title: 'Home',
resolve: {
'acl': function (AclService, $q) {
if (AclService.can('home')) {
// Has proper permissions
return true;
} else {
// Does not have permission
return $q.reject('Unauthorized');
}
}
}
}).
when('/search', {
templateUrl: 'app/views/front/searchresult.html',
controller: 'SearchController',
title: ' Search Results',
resolve: {
'acl': function (AclService, $q) {
return true;
}
}
when('/cancel', {
templateUrl: 'app/views/front/paymentcancel.html',
controller: 'PaycancelController',
title: ' Status'
}).otherwise({
redirectTo: '/home'
});
$locationProvider.html5Mode(true);
}]);
当我刷新页面时它会调用无限可以任何人有想法请让我知道..
答案 0 :(得分:0)
这个技巧可能适合你。
您可以为此类路线创建服务。
when('/', {
resolve: {redirect: 'defaultredirection'}
})
现在创建一个这样的服务。
app.service('defaultredirection', ['$window', function($window) {
if($window.location.hostname == 'localhost'){
//for local use.
window.location.href = "/yourfolder/home";
}else{
//for live use
window.location.href = "Your-URL-here/home";
}
}]);
如果它不起作用,请不要犹豫,让我知道。