我有一个$ state配置如下:
.state('app.subjects.current', {
abstract: true,
url: "/:subjectId",
template: "<div ui-view />",
ncyBreadcrumb: {
skip: true
}
})
.state('app.subjects.current.home', {
url: '/home',
templateUrl: "assets/src/subject/subjectHome.html",
resolve: loadSequence('subjectHomeCtrl'),
ncyBreadcrumb: {
label: 'View'
},
string: 'sidebar.nav.pages.SUBJECTHOME'
})
我使用$ state.go转移到此状态(&#39; app.subjects.current.home&#39;,{subjectId:&#39; 999&#39;});
网址在地址栏中显示为“http://localhost:12253/#/app/subjects//home?subjectId=999”。它实际上应该是“http://localhost:12253/#/app/subjects/999/home”。
感谢您的帮助。
答案 0 :(得分:0)
我created working example具有完全相同的映射 - 向您显示您的方法正在运作
所以,这些是状态
.state('app', {
template: '<div ui-view=""></div>',
})
.state('app.subjects', {
template: '<div ui-view=""></div>',
})
.state('app.subjects.current', {
abstract: true,
url: "/:subjectId",
template: "<div ui-view />",
ncyBreadcrumb: {
skip: true
}
})
.state('app.subjects.current.home', {
url: '/home',
templateUrl: "assets/src/subject/subjectHome.html",
//resolve: loadSequence('subjectHomeCtrl'),
ncyBreadcrumb: {
label: 'View'
},
string: 'sidebar.nav.pages.SUBJECTHOME'
})
这样我们可以称呼他们
// $state.go
<button ng-click="$state.go('app.subjects.current.home', {subjectId: '999'});">
// ui-sref
<a ui-sref="app.subjects.current.home({subjectId: '888'})">
检查here。它应该有助于找出您的应用程序中的不同之处......