如何在Angular js中更改基于url的路由

时间:2014-07-25 05:51:31

标签: angularjs

我有2个urls / dev和/ app。我的角度路线如下

$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#/ apps时,它会加载开发控制器,当它加载到家庭控制器时,它会加载家庭控制器

我需要在路由中添加哪些更改,以便当url只是/ dev时加载dev控制器

目前正因为其他原因,它会重定向到/ dev#/ home

1 个答案:

答案 0 :(得分:0)

您可以创建一个根级控制器,只需检查网址并根据需要重定向您。

在$ routeProvider中添加

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

然后在isDevCtrl中查看url并相应地重定向

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

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

});