2017-05-05 57 views
0

在app.js中有很多东西。但是releavant部分是:重定向到家的角度应用路线

.config(function ($stateProvider, $urlRouterProvider, $locationProvider) { 
    $stateProvider 
     .state('home.notfound, { 
      url: '/notfound, 
      templateUrl: 'modules/main/views/404.html' 
     }) 
     .state('home.unauthorized', { 
      url: '/unauth', 
      templateUrl: '/unauthorized' 
     }); 
    $urlRouterProvider.otherwise('/home/main'); 

.run(function ($rootScope, localize, CookieService, $location) { 

$rootScope.$on('$stateChangeStart', function(scope, next) { 
    var userCookie = CookieService.getCookie(Config.loginCookie, true); 
    if(next.loginRequired){ 
    if(!userCookie){ 
     // Logout user without cookie 
     $location.path('/login'); 
    } 
    } 
    else{ 
     return; 
    } 

路由在像文件中定义:name.route.js

具名的路线unit.route.js包含:命名案件

define([],function(){ 
function routeConfiger($stateProvider){ 
    $stateProvider 
    .state('home.unit', { 
     url: '/units', 
     templateUrl: 'unit.html', 
     controller: 'unitCtrl', 
     controllerAs: 'unit', 
     loginRequired:true 
    }); 
} 
routeConfiger.$inject=['$stateProvider']; 
return routeConfiger; 
});  

的路由。 route.js包含:

define([],function(){ 
function routeConfiger($stateProvider){ 
    $stateProvider 
    .state('home.viewCase', { 
     url: '/viewcase/:caseId', 
     templateUrl: 'case-view.html', 
     controller: 'caseViewCtrl', 
     controllerAs: 'caseView', 
     loginRequired:true 
    }) 

现在,当我打开浏览器,输入

http://localhost/home/units/ 

然后我看到页面unit.html。

但是,如果我键入

http://localhost/home/viewcase/50/ 

某处,重定向接管和页面重定向到

http://localhost/home/main 

如果从主网页,我点击其中有一个NG-点击一个链接像这样:

$state.go("home.viewCase", { caseId: '50' }); 

然后“本地”重定向发生和页面去

case-view.html 

我不明白什么停止直接到视图:id。

为什么它适用于路线“单位”,但不适用于路线“案例”?

+0

嗯,你没有一个摘要:.home真正的路由吗? –

+0

不,我在项目中找不到任何对“抽象”的引用。 – oderfla

+0

mmm看起来真的很奇怪......如果你尝试在app.js文件中添加如下内容:$ stateProvider .state('home,{/ 0},/ home,abstract:true, templateUrl:'modules/main/views/common.html' }) –

回答

0

好吧,我发现问题是什么。 它实际上工作。但不是本地的。本地我使用咕噜声。由于某种原因,重定向不起作用。但在其他服务器上,角色由nginx提供,直接转到特定的路由。