2014-02-17 73 views
3

我運行這個簡單的代碼angularjs聚焦當索引到數組中時,但輸入一個字符後,輸入失去焦點。
你可以在這裏找到關於此琴的工作代碼:http://jsfiddle.net/QygW8/束縛輸入獲取angularjs

+0

由於您綁定了原始類型,而您應該使用對象表示法,因爲javascript的原型繼承性質 –

回答

3

我認爲這正在發生的事情,因爲你操縱它遍歷NG重複相同的項目。所以ng-repeat看到了這個項目的改變,並重新運行了重新生成項目的ng-repeat。

如果你看看你的小提琴html,你可能會注意到這種效果。

要使其工作,一種方法可以做到這一點

http://jsfiddle.net/cmyworld/CvLBS/

,你改變你的數組對象數組

$scope.itemsInArray = [{data:"strA"}, {data:"strB"}, {data:"strC"}];

,然後綁定到item.data

0

試圖改變模式:

<div ng-repeat="item in itemsInArray"> 
    <input ng-model="item" /> 
</div> 
+0

綁定將會停止 –

0

即使我是angularjs的新手,直到我的發現 - 重複更新/重複ats並在模型發生變化時重新創建整個HTML元素。因此,當單個字符添加到模型會導致ng-repeat反應並再次創建所有HTML元素,從而導致失去焦點。

這是一個小提琴,其中你將能夠觀察ng-repeat內部和ng-repeat之外的模型的變化。

對不起,我沒有解決方案,希望使用ng-model除ng-model之外可能會有所幫助。

+0

[fiddle](http://jsfiddle.net/fidalcastro/zL4eQ ) 在這兒 – Fidel