如何使用angular在空数组中添加新项?这就是我所拥有的
<body ng-controller="MainCtrl" ng-init="arr.lenght == 0 || arr[0] = ''">
<div ng-repeat="d in arr track by $index">
<input ng-model="arr[$index]" />
</div>
</body>
答案 0 :(得分:0)
如果你在控制器中这样做会更好。
<body ng-controller="MainCtrl" ng-init="mainControllerInit()">
<div ng-repeat="d in arr track by $index">
<input ng-model="arr[$index]" />
</div>
</body>
$scope.arr = [];
$scope.mainControllerInit = function(){
if(!$scope.arr.length){
$scope.arr[0] = '';
}
}
答案 1 :(得分:0)
你走了:
<body ng-controller="MainCtrl" ng-init="(!arr || arr.lenght == 0) ? arr = [''] : ''">
<div ng-repeat="d in arr track by $index">
<input ng-model="arr[$index]" />
</div>
</body>
你也可以在你的MainCtrl
中做得更清洁。
答案 2 :(得分:0)
您尚未正确初始化阵列。你也在ng-init中进行比较。 ng-init用于初始化。
试试这个,
<强> HTML 强>
<div ng-controller="MyCtrl" ng-init="arr=[]; arr.length=0">
<input ng-model="arr[0]" />
<p> {{arr[0]}} </p>
</div>
<强> JS 强>
var myApp = angular.module('myApp', []);
function MyCtrl($scope) {
}
请参阅fiddle