将ng-repeat绑定到空数组

时间:2015-07-30 13:44:00

标签: angularjs

有更优雅的方法吗?

<input type="text" id="items" ng-model="items[0]" placeholder="item1">
<input type="text" id="items" ng-model="items[1]" placeholder="item2">
<input type="text" id="items" ng-model="items[2]" placeholder="item3">
<input type="text" id="items" ng-model="items[3]" placeholder="item4">
<input type="text" id="items" ng-model="items[4]" placeholder="item5">

我想使用ng-repeat,但没有要迭代的项目,因为items最初是空的。

4 个答案:

答案 0 :(得分:6)

ng-repeat不会迭代空数组。您可以尝试将设置项目添加到5个空对象的数组中,然后稍后更新这些对象。

答案 1 :(得分:3)

您可能希望在控制器中设置项目,如下所示:

$scope.items = [null, null, null, null, null];

有了这个,你将有一个数组来迭代。

答案 2 :(得分:2)

您可以使用 track by $ index 列出空填充数组:

jsbin

<div ng-repeat="item in c.list track by $index">
    <input type="text" id="items" ng-model="c.list[$index]" placeholder="item{{$index + 1}}">
</div>

答案 3 :(得分:0)

或者您可以使用new关键字在控制器中以不同方式初始化它。

  $scope.items = new Array(5);