如何在URL angularjs中设置两个动态的“:id”?

时间:2019-05-20 08:28:19

标签: javascript angularjs ecmascript-6 angular-ui-router

如何在URL angularjs中设置两个动态: id?我不知道如何将idUsers设置为从URL自动获取ID。我有错

  

以下参数值对于状态'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 :(得分:0)

首先,不要使用href whit ui-sref。

  

指令 ui-sref ,该指令将链接(标记)绑定到状态。如果状态具有关联的URL,则该伪指令将通过$ state.href()方法自动生成并更新href属性。单击链接将触发带有可选参数的状态转换。同样,在浏览器中单击鼠标中键,右键单击和ctrl键也将由浏览器本地处理。

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

转换为:

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

第二,看来users.id没有价值。调试usersuser变量。