Angularjs 使用角度ui route中的解析数据填充route参数
给出以下代码:Angularjs 使用角度ui route中的解析数据填充route参数,angularjs,angular-ui-router,state,meanjs,Angularjs,Angular Ui Router,State,Meanjs,给出以下代码: $stateProvider .state('app.users', { abstract: true, url: '/users', templateUrl: 'views/users.html', resolve: { userId: Users => Users.lastUserSelected() }, }) .state('app
$stateProvider
.state('app.users', {
abstract: true,
url: '/users',
templateUrl: 'views/users.html',
resolve: {
userId: Users => Users.lastUserSelected()
},
})
.state('app.users.questions', {
url: '/:userId/questions',
templateUrl: 'views/questions.html',
controller: 'UsersQuestionsCtrl',
resolve: {
questions: (userId) => Questions.getAll(userId)
}
})
当我转换到app.users.questions状态时,一切都正常,但浏览器中的URL最终像mydomain.com/users///questions(注意路径中的双斜杠//没有用户ID)
似乎从父级状态解析的用户ID未填充到子路由或类似的内容中。我想我遗漏了一个关键概念
我想实现一个类似mydomain.com/users/USERID/questions的URL
我已经阅读了许多ui路由器指南,但无法理解这一点,非常感谢您的帮助
我正在使用MEANJS项目中的addMenuItem和addMenuSubItem方法填充侧边栏菜单
Menus.addMenuItem('sidebar', {
state: 'app.users',
type: 'dropdown',
iconClass: 'fa fa-comments',
position: 4,
roles: ['*']
});
Menus.addSubMenuItem('sidebar', 'app.users', {
state: 'app.user-questions'
});
注:
1-无论我来自哪个州,前一个州都无关紧要。。。它与用户没有任何关系,因此从所有可能的先前状态传递:userId对我来说是错误的。我只是以用户和问题为例,但这些并不是我在实际项目中使用的实体
2-我正在使用seed项目您如何称呼该状态?使用$stete.go()或使用ui sref??使用ui sref。不是通过选举,而是因为我正在使用MEANJS addMenuItem函数。请您将这部分代码添加到问题中。添加代码以填充菜单。据我所知,您没有指定用户ID。我在您的链接引用中查找类似ui sref=“app.user questions({userId:userIdValue})”的内容。