Jef*_*rey 13 angularjs angular-ui-router
使用ui-router并设置父状态url /导致我的url看起来像localhost:8000/#//child查看子页面时.我想/在哈希和孩子之间只有一个.
我尝试将父状态url留空,但是当使用锚链接时,ui-sref将不会链接回父状态.任何人都有一个解决方案,有一个根级别未命名的父网址?
的app.config
app.config(function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise("/");
$stateProvider
.state("main", {
url: "/",
templateUrl: 'sites/main/main.html',
controller : 'MainController',
resolve: {
items: function(srvMenu) {
return srvMenu.getNav();
}
}
})
});
Run Code Online (Sandbox Code Playgroud)
child.config
emergency.config(function($stateProvider) {
$stateProvider
.state("main.emergency", {
url: "/emergency",
templateUrl: 'sites/emergency/emergency_menu.html',
controller : 'EmenuController',
resolve: {
emenu: function(srvEmergency) {
return srvEmergency.getMenu();
}
}
})
.state("main.emergency.detail", {
url: "/detail",
templateUrl: 'sites/emergency/emergency_detail.html',
})
});
Run Code Online (Sandbox Code Playgroud)
Rad*_*ler 25
将ui-router有解决方案(几乎)任何东西.有一个工作的plunker.我们将采取的行动称为:绝对路线(^)
那么,让我们从需求开始,拥有这些URL路由:
domain/#/ -- root for main
domain/#/emergency/ -- main.emergency
domain/#/emergency/detail -- main.emergency.detail
Run Code Online (Sandbox Code Playgroud)
使用此ui-sref状态调用时应该使用哪个:
<ul>
<li><a ui-sref="main">Main</a></li>
<li><a ui-sref="main.emergency">Emergency</a></li>
<li><a ui-sref="main.emergency.detail">Detail</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
现在,诀窍是:
url: "/",以获得一些独特的标识url: "^/..."这是状态配置,可以实现所需的结果
$stateProvider
// root with '/'
.state("main", {
url: "/",
templateUrl: 'main.tpl.html',
})
// here we start again from the root '/emergency'
.state("main.emergency", {
url: "^/emergency",
templateUrl: 'emergency_menu.tpl.html',
})
// parent and child '/emergency/detail
.state("main.emergency.detail", {
url: "/detail",
templateUrl: 'emergency_detail.tpl.html',
});
Run Code Online (Sandbox Code Playgroud)
这是文档:
......和工作的掠夺者 ......
| 归档时间: |
|
| 查看次数: |
7429 次 |
| 最近记录: |