我的角度应用程序有两种状态。
第一:
.state('profile', {
url: '/:user/:user_id',
templateUrl: 'modules/profile/templates/profile.html',
controller:'profileController',
showClose : 'false',
resolve: {
USERNAME : function($stateParams){
return $stateParams.user;
},
USERID : function($stateParams){
return $stateParams.user_id;
}
}
})
第二:
.state('sub-moments-everyday', {
url: '/moments-everyday/:moment',
templateUrl: 'modules/moments-everyday/templates/ME-submoments.html',
controller:'subMomentsEverydayController',
})
每当我在user
州输入有效user_id
和profile
时,都没有问题。但每当我输入/moments-everyday/randomstring
时,似乎ui-router
感到困惑。它使用controller
和template
作为profile
州。
请帮忙。谢谢。
答案 0 :(得分:4)
您是否尝试检查状态在文件中的放置顺序? /:userid /:username检查与该模式匹配的任何URL。该模式包含两个可变参数,因此当您尝试访问/ moment-everyday /:moment时,它会看到/:userid /:username模式并调用该状态。
尝试确保在/:userid /:用户名模式之前有/ moment-everyday /:moment模式。 UI路由器从文件顶部开始,检查文件中的每个模式,直到找到第一个匹配模式。