我已经按照以下方式配置了我的ui-routes:
$stateProvider
.state('home', {
url: '/',
template: '<home>',
resolve: {
authorize: ['authorization',
function(authorization) {
return authorization.authorize();
}
]
}
})
.state('manage', {
url: 'manage',
abstract: true,
template:'<div ui-view></div>',
resolve: {
authorize: ['authorization',
function(authorization) {
return authorization.authorize();
}
]
}
})
.state('manage.map', {
parent: 'manage',
url: '/map',
template: '<dummy>',
resolve: {
authorize: ['authorization',
function(authorization) {
return authorization.authorize();
}
]
}
})
在我的索引中。 HTML,我有一个ui-view:
<div ui-view></div>
我遇到的问题是,当我在浏览器中键入:/ manage / map(或任何其他子路由)时,视图未加载,状态被视为无效。
首先加载'home'然后使用按钮(ui-sref)访问'manage.map'状态的唯一方法。
事实上,当我有$ urlRouterProvider.otherwise('/'); 'manage.map'始终被视为无效,即使我使用ui-sref访问它,我总是被重定向到'/'。
所以我不确定我做错了什么或者使用ui-router和指令的最佳方法是什么..
答案 0 :(得分:0)
问题在于缺少&#39; /&#39;从父国的定义..
.state('manage', {
url: '/manage',
abstract: true,
template:'<div ui-view></div>',
resolve: {
authorize: ['authorization',
function(authorization) {
return authorization.authorize();
}
]
}
})