我用来填充数据的模拟数据是
"StudentDetails": [ { "name": "name1", "code":"code1", "fields": { "username": "username1", "password": "sample", "key": 4513345667878 } }, { "name": "name2", "code":"code2", "fields": { "username": "username2", "secretkey": 1213145 } } ]
我使用以下模板代码填充它
字段中的参数会针对每个对象进行更改.这里的问题是输入框中的单个按键,输入框失去焦点.我不得不反复点击输入框内部以输入数据.如何在没有框失去焦点的情况下更改输入框中的值.我使用了"按键跟踪"...并尝试在StackOverflow中发布类似问题的各种答案,但这没有帮助请帮助这个场景.. !!
问题是,随着模型对象的每次更改,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>