我用来填充数据的模拟数据是
"StudentDetails":
[
{
"name": "name1",
"code":"code1",
"fields": {
"username": "username1",
"password": "sample",
"key": 4513345667878
}
},
{
"name": "name2",
"code":"code2",
"fields": {
"username": "username2",
"secretkey": 1213145
}
}
]
Run Code Online (Sandbox Code Playgroud)
我使用以下模板代码填充它
<div ng-repeat="item in StudentDetails">
<div ng-repeat="(key,value) in StudentDetails.fields">
<div></div>
<div><input type="text" ng-model="StudentDetails.fields[key]"/></div></div>
</div>
Run Code Online (Sandbox Code Playgroud)
字段中的参数会针对每个对象进行更改.这里的问题是输入框中的单个按键,输入框失去焦点.我不得不反复点击输入框内部以输入数据.如何在没有框失去焦点的情况下更改输入框中的值.我使用了"按键跟踪"...并尝试在StackOverflow中发布类似问题的各种答案,但这没有帮助请帮助这个场景.. !!
use*_*317 18
问题是,随着模型对象的每次更改,ng-repeat重新生成整个数组,从而模糊输入框.
您需要使用新ngRepeat语法(在1.1.x中引入)并使用track by $index.
<div ng-repeat="(i, item) in StudentDetails track by i">
<div ng-repeat="(key,value) in StudentDetails.fields track by key">
<div></div>
<div><input type="text" ng-model="StudentDetails.fields[key]"/></div>
</div>
Run Code Online (Sandbox Code Playgroud)