我想知道为什么在此示例中每次输入不能输入多个字符:
<div ng-app>
<div ng-controller="ctrl">
<table>
<tr>
<td ng-repeat="f in foo">
<input ng-model="foo[$index]" style="width:60px" ></input>
</td>
</tr>
</table>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
js:
function ctrl($scope) {
$scope.foo = [];
for (var i=0; i<5; i++) {
$scope.foo.push('');
}
}
Run Code Online (Sandbox Code Playgroud)
您正在将模型绑定到原语。那样是行不通的。在这个github 问题中有完整的解释。此外,每次更改输入值时,ng-repeat 都会刷新。这就是你失去焦点的原因。
始终绑定到对象:
HTML:
<td ng-repeat="f in foo">
<input ng-model="f.value" style="width:60px" />
</td>
Run Code Online (Sandbox Code Playgroud)
控制器:
function ctrl($scope) {
$scope.foo = [];
for (var i=0; i<5; i++) {
$scope.foo.push({value: ''});
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
670 次 |
| 最近记录: |