使用角度ui-route中的已解析数据填充路径参数

时间:2016-12-23 19:56:27

标签: 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.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(注意路线中的双正斜杠//,那里& #39; s no userId)

似乎从父状态解析的用户ID未在子路由中填充,或类似的东西。我想我在这里错过了一个关键概念。

我想获得像mydomain.com/users/USERID/questions这样的网址。

我已经通过了许多ui-router指南,但无法解决这个问题,我们非常感谢任何帮助。

我使用来自MEANJS项目的addMenuItem和addMenuSubItem方法填充我的sideBar菜单。

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听起来不对对我来说。我只是以USERS和QUESTIONS为例,但这些并不是我在实际项目中使用的实体。

2 - 我正在使用MEANJS种子项目

0 个答案:

没有答案