angularjs ng-repeat绑定错误

时间:2014-02-21 11:20:04

标签: angularjs angularjs-ng-repeat

有人可以解释为什么在这个http://codepen.io/mikeward/pen/gwcjt案例焦点在键入char时随时丢失,但在这个http://codepen.io/anon/pen/fcrdh案例中一切正常吗?

1 个答案:

答案 0 :(得分:0)

这是因为第二个示例使用对象而不是整数将模型绑定到视图。

模型通过引用绑定到ng-repeat的范围,当引用更改时,ng-repeat重新呈现该模型 - 因此删除旧元素并创建新元素。

整数按值存储,因此基本上当您更改整数时,它将成为一个全新的模型(作为内存中的一个位置)。但是当您使用对象时,当您仅更改某些属性的值时,对该对象的引用保持不变。

所以作为一个简单的解释,元素在第一个例子中失去焦点,因为它不再是同一个元素了。