使用 ng-change 从 ng-repeat 内部获取 ng-model 值
Get ng-model value from inside ng-repeat using ng-change
伙计们,我是 angular 的新手,在从 ng-repeat 中获取 ng-model 的值时遇到问题。
我有一组用户,我想指定具有不同访问级别的用户
users = [
{id:1, level:0},
{id:2, level:0},
{id:3, level:0}
]
这是HTML
<div ng-repeat="user in users track by $index">
{{user.id}}-
<select name="appoint" ng-change="appoint(user.id)" ng-model="appointLevel">
<option value=0>Revoke</option>
<option value=1>Moderator</option>
<option value=2>Admin</option>
</select>
</div>
angular中的appoint()
函数:
$scope.appoint = function(id){
console.log(id+' '+appointLevel)
}
函数运行良好,我得到的是 id
的值,但不是触发该函数的输入元素的“appointLevel”。
如何在 `ng-change' 上有效地获取值 console.log(id+' '+appointLevel)?
提前致谢。
使用
<select name="appoint" ng-change="appoint(user.id, appointLevel)" ng-model="appointLevel">
和
$scope.appoint = function(id, appointLevel) {
console.log(id + ' ' + appointLevel);
}
您不能直接从 JS 函数访问 appointLevel,因为它在 ng-repeat 的范围内,它是控制器范围(即 $scope)的子范围。
或者您可以将 appointLevel 存储在用户本身中:
<select name="appoint" ng-change="appoint(user)" ng-model="user.appointLevel">
和
$scope.appoint = function(user) {
console.log(user.id + ' ' + user.appointLevel);
}
伙计们,我是 angular 的新手,在从 ng-repeat 中获取 ng-model 的值时遇到问题。
我有一组用户,我想指定具有不同访问级别的用户
users = [
{id:1, level:0},
{id:2, level:0},
{id:3, level:0}
]
这是HTML
<div ng-repeat="user in users track by $index">
{{user.id}}-
<select name="appoint" ng-change="appoint(user.id)" ng-model="appointLevel">
<option value=0>Revoke</option>
<option value=1>Moderator</option>
<option value=2>Admin</option>
</select>
</div>
angular中的appoint()
函数:
$scope.appoint = function(id){
console.log(id+' '+appointLevel)
}
函数运行良好,我得到的是 id
的值,但不是触发该函数的输入元素的“appointLevel”。
如何在 `ng-change' 上有效地获取值 console.log(id+' '+appointLevel)? 提前致谢。
使用
<select name="appoint" ng-change="appoint(user.id, appointLevel)" ng-model="appointLevel">
和
$scope.appoint = function(id, appointLevel) {
console.log(id + ' ' + appointLevel);
}
您不能直接从 JS 函数访问 appointLevel,因为它在 ng-repeat 的范围内,它是控制器范围(即 $scope)的子范围。
或者您可以将 appointLevel 存储在用户本身中:
<select name="appoint" ng-change="appoint(user)" ng-model="user.appointLevel">
和
$scope.appoint = function(user) {
console.log(user.id + ' ' + user.appointLevel);
}