我正在使用角度js开发一个应用程序,每行都有一个表格,有一个编辑按钮,表格上方有一个表单,我需要做的是当用户点击特定行然后表单时填充该行的数据
这是我的表格代码
<form role="form" ng-controller="userController" >
<div class="form-group">
<label>Name</label>
<input type="text" class="form-control" ng-model="currentUser.name"/>
<label>Description</label>
<input type="text" class="form-control" ng-model="currentUser.Description"/>
</div>
以下是表格代码:
<table class="table" id="user-table" >
<tr ng-repeat="user in users">
<td>
{{ user.id }}
</td>
<td>
{{ user.name }}
</td>
<td>
{{ user.Description }}
</td>
<td>
<a ng-click="setCurrentUser(user.id)" class="glyphicon glyphicon-pencil"></a>
</td>
</tr>
</table>
在userController的javascript文件中,我有以下代码
$scope.setCurrentUser= function( id ){
$scope.currentUser = $scope.users[id];
console.log($scope.currentUser);
}
我的问题是:虽然当我点击行时setCurrentUser运行并且对象currentUser在控制台中正确打印,为什么表单没有填充$ scope.currentUSer的数据 我在哪里弄错了,或者我应该采取另一种方法来处理它?</ p>
答案 0 :(得分:0)
您可以在此处使用多种方法。
首先,您可以在表格中设置一个洞user
对象到currentUser
对象:
$scope.setCurrentUser= function(user){
$scope.currentUser = user;
}
第二次,您可以将$index
从ng-repeat
推送到setCurrentUser($index)
并按此索引查找用户。
<table class="table" id="user-table" >
<tr ng-repeat="user in users">
<td>
{{ user.id }}
</td>
<td>
{{ user.name }}
</td>
<td>
{{ user.Description }}
</td>
<td>
<a ng-click="setCurrentUser($index)" class="glyphicon glyphicon-pencil"></a>
</td>
</tr>
</table>
在控制器中:
$scope.setCurrentUser= function(index){
$scope.currentUser = $scope.users[index];
}
中的Chek $index
财产