从不同的数组中获取匹配的元素
Getting a matching element from a different array
我有一个名为 groupUsers
的数组和一个名为 tasks.users
的数组中的另一个数组,如下所示:
this.groupUsers = [
{$id: "simpleLogin:1", name: "bob"},
{$id: "simpleLogin:2", name: "joe"}];
this.tasks = [
{title: "do something", users:["simpleLogin:1","simpleLogin:2"]},
{title: "do something else", users:["simpleLogin:2"]}];
我想做的是从 groupUsers
获取用户名,以便在我显示任务时显示,而不是他们的 ID,但我不确定如何获取它。我假设它涉及过滤器?
使用以下代码,我可以显示任务和分配给每个任务的用户 ID,而不是名称。
<div class="taskContainer" ng-repeat="task in todo.tasks | orderBy:'-when'">
<div><span ng-repeat="users in task.users">{{users}} </span></div>
<span> {{task.title}} </span>
</div>
你可以扩展这个功能来满足你的需要,现在它会return传入id的一个名字,$filter是一个angular服务,记得把它包含在你的控制器
$scope.getName = function(id){
return $filter('filter')(groupUsers, { name: id})[0].name;
};
这是你的html
<div class="taskContainer" ng-repeat="task in todo.tasks | orderBy:'-when'">
<div><span ng-repeat="users in task.users">{{getName(users[0])}} </span></div>
<span> {{task.title}} </span>
</div>
我有一个名为 groupUsers
的数组和一个名为 tasks.users
的数组中的另一个数组,如下所示:
this.groupUsers = [
{$id: "simpleLogin:1", name: "bob"},
{$id: "simpleLogin:2", name: "joe"}];
this.tasks = [
{title: "do something", users:["simpleLogin:1","simpleLogin:2"]},
{title: "do something else", users:["simpleLogin:2"]}];
我想做的是从 groupUsers
获取用户名,以便在我显示任务时显示,而不是他们的 ID,但我不确定如何获取它。我假设它涉及过滤器?
使用以下代码,我可以显示任务和分配给每个任务的用户 ID,而不是名称。
<div class="taskContainer" ng-repeat="task in todo.tasks | orderBy:'-when'">
<div><span ng-repeat="users in task.users">{{users}} </span></div>
<span> {{task.title}} </span>
</div>
你可以扩展这个功能来满足你的需要,现在它会return传入id的一个名字,$filter是一个angular服务,记得把它包含在你的控制器
$scope.getName = function(id){
return $filter('filter')(groupUsers, { name: id})[0].name;
};
这是你的html
<div class="taskContainer" ng-repeat="task in todo.tasks | orderBy:'-when'">
<div><span ng-repeat="users in task.users">{{getName(users[0])}} </span></div>
<span> {{task.title}} </span>
</div>