我有一个包含用户列表的下拉列表。该列表用于将用户分配给任务。我可以通过将模型设置为映射到用户的task.assignedId
来预先选择分配的用户,如果我将模型设置为user
并将其传递给{{{}},我可以分配新用户1}}在选择上。我遇到的问题是做这两件事。如何获得预先选择的值,然后将选择的新值传递给我的更新方法?
这是我当前的代码,它正确设置当前用户但未传递新选择的用户:
ng-change
答案 0 :(得分:0)
您的task
是已在范围内的属性,因此您无需将其传递给assignUser
方法。
ng-change="assignUser()"
控制器:
$scope.task = {
asigneeId: 1,
....
};
$scope.assignUser = function() {
// use $scope.task do something
}
答案 1 :(得分:0)
我终于让它正常工作了。要预先选择该选项,需要将模型设置为当前任务用户标识的属性,在本例中称为task.assigneeId。这将映射到选项值。然后,要设置新值,所需的只是将任务传递给更新函数并调用update。由于现在已经通过模型设置了用户ID,因此它将正确更新。这是代码:
HTML:
ul class="task-list"
li [ng-repeat='task in uncompletedTasks]
p Assign-to:
select ng-model="task.asigneeId" ng-change="assignUser(task)" ng-options="user.id as user.firstName for user in users"
option value="" -- assign a user --
角度控制器:
$scope.assignUser = function(task) {
task.update();
}