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