AngularJS ng-repeat复制元素

时间:2013-06-03 18:39:18

标签: angularjs associative-array ng-repeat

由于某些奇怪的原因,当迭代关联值数组时,此jsfiddle example中的代码会复制元素。输入字段正确显示3个名称,但每个名称的字段重复3次。更令人困惑的是,{{ p.name }}在每次迭代时显示的值与ng-model="p.name"不同。索引每次显示0,1和2三次。为什么每个元素会有三次迭代?

控制器:

var app=angular.module('myApp', []);

function MyCtrl($scope) {

    $scope.people = [
        { name:'Tom', age:5 }, 
        { name:'Dick', age:6 }, 
        { name:'Harry', age:7 }
];

}

HTML:

<div ng-controller="MyCtrl">
    <form> 
    <ul>
        <li ng-repeat="p in people">{{$index}}, {{$first}}, {{$middle}}, {{$last}}, {{p.name}}, {{p.age}}
            <input type="text" ng-model="p.name">
        </li>
    </ul>      
    </form>
</div>

对此代码有什么问题的想法?

1 个答案:

答案 0 :(得分:5)

你有两次AngularJS。

在“框架和扩展”下进行一次,在“外部资源”下进行第二次。