Ano*_*ser 2 angularjs angularjs-ng-repeat angular-ngmodel
伙计我是角色的新手,并且在从ng-repeat内部获得ng-model的价值时遇到了问题.
我有一系列用户,我想指定具有不同访问级别的用户
users = [
{id:1, level:0},
{id:2, level:0},
{id:3, level:0}
]
Run Code Online (Sandbox Code Playgroud)
这是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>
Run Code Online (Sandbox Code Playgroud)
的appoint()
在角函数:
$scope.appoint = function(id){
console.log(id+' '+appointLevel)
}
Run Code Online (Sandbox Code Playgroud)
该函数工作正常,我得到的值id
不是触发该函数的输入元素的`appointmentLevel'.
如何在"ng-change"上有效地获得值console.log(id +''+ appointmentLevel)?提前致谢.
使用
<select name="appoint" ng-change="appoint(user.id, appointLevel)" ng-model="appointLevel">
Run Code Online (Sandbox Code Playgroud)
和
$scope.appoint = function(id, appointLevel) {
console.log(id + ' ' + appointLevel);
}
Run Code Online (Sandbox Code Playgroud)
您不能直接从JS函数访问appointmentLevel,因为它在ng-repeat的范围内,这是控制器范围的子范围(即$ scope).
或者您可以将appointmentLevel存储在用户自己中:
<select name="appoint" ng-change="appoint(user)" ng-model="user.appointLevel">
Run Code Online (Sandbox Code Playgroud)
和
$scope.appoint = function(user) {
console.log(user.id + ' ' + user.appointLevel);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11467 次 |
最近记录: |