我正在使用angular 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"
});
}
})();
正如你所看到的,/ alcohol有一个templateUrl和一个控制器,与/ alcohol / list相同,但我想知道是否有一种简单的(标准的)方法可以改为另一个URL,例如/ alcohol / list,所以我不必重复templateUrl和控制器,并将这些信息保存在它所属的酒精模块中。
例如
.when("/alcohol",{
routeTo: "/alcohol/list"
})
感谢您的帮助
解决
存在重定向选项,没有充分考虑$ routeProvider文档:
.when("/alcohol",{
redirectTo:"/alcohol/list"
});
上面的代码
答案 0 :(得分:4)
您可以使用$routeProvider
的{{1}}路线图。
redirectTo
了解详情:https://docs.angularjs.org/api/ngRoute/provider/$routeProvider