我在循环中有来自数据库的数据,这很有用,值在输入字段中,但是当我想在点击角度后读取此值时返回我:
Object {newName:undefined,newEmail:undefined}
我不知道为什么。请求帮助。
HTML CODE:
<tr ng-repeat="user in users">
<td><input type="text" ng-model="user.name" name="user.name" ></td>
<td><input type="text" ng-model="user.email" name="user.email" ></td>
<td><button ng-click="checkData()">Click</button></td>
</tr>
控制器代码:
$scope.user = {};
$scope.checkData = function () {
var data = {
newName: $scope.user.name,
newEmail: $scope.user.email
};
console.log(data);
答案 0 :(得分:2)
在ng-repeat
代码中,您显示了users
&amp;的每个元素。您在tr
的{{1}}内显示了另一个。当您想要访问正在编辑的元素时,您需要将该table
对象传递给user
方法,以便您可以访问该特定特定用户。
<强>标记强>
checkData
<强>代码强>
<tr ng-repeat="user in users">
<td><input type="text" ng-model="user.name" name="user.name" ></td>
<td><input type="text" ng-model="user.email" name="user.email" ></td>
<td><button ng-click="checkData(user)">Click</button></td>
</tr>
答案 1 :(得分:1)
在ng-click
传递user
模型,使其成为ng-click="checkData(user)"
然后,将控制器代码重写为:
$scope.user = {};
$scope.checkData = function (user) {
console.log(user);
};
答案 2 :(得分:0)
您需要为函数提供要评估的DOM的数据,即当前用户:
您可以使用
<tr ng-repeat="user in users">
<td>{{user.name}}</td>
<td>{{user.email}}</td>
<td><button ng-click="check(user)"></button></td>
</tr>
$scope.check = function (thing) {
var currentUser = {
name: thing.name,
email: thing.email
}
}