2014-07-25 19 views
0

我有2個urls/dev和/ app。我的角路線如下:如何在Angular js中改變基於url的路由

$routeProvider. 
     when('/home', { 
      templateUrl: 'homeTemp', 
      controller: 'homeCtrl', 
     }). 
     when('/home/:pageId', { 
      templateUrl: 'homeTemp', 
      controller: 'homeCtrl' 
     }). 
     when('/apps', { 
      templateUrl: 'devTemp', 
      controller: 'devCtrl', 

     }). 
     when('/app/:appId', { 
      templateUrl: 'devAppTemp', 
      controller: 'devCtrl' 
     }). 
     otherwise({ 
     redirectTo: '/home' 
     }); 

現在,當我的網址是/ dev#/應用加載開發控制器時,它的/應用程序#/家它加載家居控制器

我需要什麼樣的變化在我的路由添加,這樣當URL僅僅是/ dev的它加載開發控制器

目前,因爲它重定向到/ dev#/家否則

+0

當找你的路線是'的/ dev#/ home'默認情況下它會加載dev控制器。你可以拆分url路由,並檢查是否有任何控制器存在param傳遞。如果存在來自'dev'控制器的重定向:) –

回答

0

您可以創建一個根液位控制器,只是檢查該網址並根據需要重定向。

在$ routeProvider添加

when('/', { 
     controller: 'isDevCtrl', 
     template:"" 
    }) 

然後在isDevCtrl看URL重定向和相應

yourApp.controller("isDevCtrl", function($location){ 

    if($location.path() == '/dev'){ 
     $location.path("/apps") 
    }else{ 
     $location.path("/home") 
    } 

});