谁能解释为什么在这种情况下 http://codepen.io/mikeward/pen/gwcjt 输入char时随时失去焦点,但在这种 http://codepen.io/anon/pen/fcrdh 情况下一切正常?
这是因为第二个示例使用对象而不是整数将模型绑定到视图。
模型通过引用绑定到ng-repeat
的范围,当引用更改时,ng-repeat会重新渲染该模型 - 因此删除旧元素并创建一个新元素。
是按值存储的,所以基本上当你改变一个整数时,它就会成为一个全新的模型(作为内存中的一个位置)。但是,当您使用对象时,当您仅更改其某些属性的值时,对该对象的引用将保持不变。
因此,作为一个简单的解释,该元素在第一个示例中失去了焦点,因为它不再是同一个元素。