我用来填充数据的模拟数据是
"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>
关于angularjs - Angular JS : Input box losing focus on keypress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20326312/