Как установить два динамических ': id' в url angularjs? - PullRequest
0 голосов
/ 20 мая 2019

Как установить два динамических : id в url angularjs?Я не знаю, как установить idUsers для автоматического получения идентификатора из URL.У меня ошибка

Следующие значения параметров недопустимы для состояния 'user': [usersId: undefined]))

Я хочу пойти по маршруту: /{usersId}/workers/{userId}

users / users.html

<ul>
    <li ng-repeat='user in $ctrl.users'>
        <div>
          <a ui-sref="user({usersId: users.id, userId: user.id })" href='#'> 
             {{user.name}}
          </a></div>
        <div>{{user.id}}</div>
    </li>
</ul>

user / user.js

.config(($stateProvider) => {
  "ngInject";
 $stateProvider
    .state('user', {
      url: '/{usersId}/workers/{userId}',
      component: 'user',     
      resolve: {
        user: (UserService, $stateParams, $q) => {
          let deferred = $q.defer();
          UserService.getUser($stateParams.userId)
            .then(success => {
              deferred.resolve(success.data);
          });
          return deferred.promise;
        },      
      }
   });
})

1 Ответ

0 голосов
/ 20 мая 2019

Прежде всего, не используйте href whit ui-sref.

Директива ui-sref , которая связывает ссылку (тег) с состоянием. Если у состояния есть связанный URL-адрес, директива автоматически сгенерирует и обновит атрибут href с помощью метода $ state.href (). Нажатие на ссылку приведет к переходу состояния с необязательными параметрами. Кроме того, щелчок средней кнопкой мыши, нажатие правой кнопкой мыши и нажатие Ctrl по ссылке будут обрабатываться непосредственно браузером.

<a ui-sref="home">Home</a> 

преобразуется в:

<a href="#/home" ui-sref="home">Home</a>

Во-вторых, похоже, что users.id не имеет значения. Отладка users и user переменных.

...