如何在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;
},
}
});
})
答案 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
没有价值。调试users
和user
变量。