angularjs – Angular JS:输入框失去了对按键的关注

前端之家收集整理的这篇文章主要介绍了angularjs – Angular JS:输入框失去了对按键的关注前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我用来填充数据的模拟数据是
"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相关文章