2016-06-10 82 views
2

我正在使用角度js编写简单的产品信息管理应用程序。为了让我的应用尽可能模块化,我已经将它分成多个模块,并将一个模块“pim”作为起点。对于每个模块,我希望有不同的路由,以便插入新模块或将其删除,而无需在pim模块配置中维护大型路由。

目前我有两条路线(第一路线):

(function(){ 
angular 
    .module("pim") 
    .config(router) 

function router($routeProvider){ 
    $routeProvider 
     .when("/",{ 
      templateUrl: "view/info.html", 
      controller: "pimController" 
     }) 
     .when("/info",{ 
      templateUrl: "view/info.html", 
      controller: "pimController" 
     }) 
     .when("/alcohol",{ 
      templateUrl: "view/alcohol.list.html", 
      controller: "alcoholController" 
     }); 
    } 
})(); 

第二条路线

(function(){ 
angular 
    .module("alcohol") 
    .config(router) 

function router($routeProvider){ 
    $routeProvider 
     .when("/alcohol/list",{ 
      templateUrl: "view/alcohol.list.html", 
      controller: "alcoholController" 
     }) 
     .when("/alcohol/info",{ 
      templateUrl: "view/alcohol.info.html", 
      controller: "alcoholController" 
     }); 
    } 
})(); 

正如你可以看到/醇具有templateUrl和控制器,同/醇/列表,但我想知道是否有一个简单的(标准)方法更改为另一个URL例如/ alcohol/list,这样我就不必重复templateUrl和控制器,并将这些信息保存在酒精模块中,它属于哪里。

例如

.when("/alcohol",{ 
    routeTo: "/alcohol/list" 
}) 

谢谢您的帮助

解决

选项重定向存在,$ routeProvider文档不够好,在没有看:

.when("/alcohol",{ 
    redirectTo:"/alcohol/list" 
}); 

上面的代码作品

回答

4

您可以使用$routeProviderredirectTo路线图。

.when("/alcohol", { 
    redirectTo: "/alcohol/list" 
}); 

了解更多:https://docs.angularjs.org/api/ngRoute/provider/$routeProvider

+0

我会说你解决了这个问题,但我不知道,如果你第一次读到我的解决方案,然后再复制它。所以我会说这是有用的 – DemanB

+0

不,我真的浏览了文档,并发现它:)这只是一个巧合,我们在同一时间找到它。 –