以下是我的示例:http://jsfiddle.net/w2Ltohsq/
通过console.log记录的输入上的任何更改(和焦点)事件。所以,点击任何输入。
我希望控制台输出如下:
Object {index: 1, 1: Object}
但我明白了:
Object {index: 1, $index: Object}
所以$index
评估了,而不是在几乎相同的地方进行评估。
ng-repeat="item in List track by index"
和ng-repeat="(i, item) in List"
没有帮助。
编辑:感谢所有人,所有答案都是正确的,我正在用一个工作小提琴来回答。
答案 0 :(得分:2)
答案 1 :(得分:2)
{ index: $index, $index: { item: item } }
是JavaScript对象文字,第二个$index
是此对象的键(字段)之一。密钥永远不会在对象文字中进行评估。值是。
就像在JavaScript中一样,如果你写
var i = 22;
var obj = {i : i};
你将拥有一个名为i
的键的对象,其值为22.代码相当于
var obj = {'i' : i};
我也很难理解为什么你有这个getTopScope()函数。
答案 2 :(得分:1)
我相信这不是关于angular的$ index的问题,而是关于javascript中的对象文字的问题。我不相信你可以使用表达式作为对象文字语法中的关键。