点击添加模板

时间:2014-10-09 20:39:04

标签: javascript angularjs

我的控制器里有这个:

$scope.myList= [1, 2, 3];

我有一些看起来像这样的HTML:

<h2>Test Dynamic {{ myList.length }}</h2>
<div ng-repeat="ps in myList">
  <ng-include src="'partials/whatever.html'" >
  </ng-include>
</div>

<span data-ng-click="myList.push(1)">Add</span>

单击跨度时,标记中的计数会增加,但列表不会更新。这只需要略微起作用;让用户使用“添加”按钮添加元素,并使用部分模板中的删除按钮删除一个元素。知道为什么这不起作用吗?

1 个答案:

答案 0 :(得分:3)

问题是你要添加一个重复的元素而你还没有在track by函数中指定ng-repeat,因此angular认为它是相同的元素,所以你可以这样解决它:

<h2>Test Dynamic {{ myList.length }}</h2>
<div ng-repeat="ps in myList track by $index">
  <ng-include src="'partials/whatever.html'" >
  </ng-include>
</div>

<span data-ng-click="myList.push(1)">Add</span>