Angularjs 长度=0时在数组上添加新项的角度

Angularjs 长度=0时在数组上添加新项的角度,angularjs,Angularjs,如何使用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> </bo

如何使用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>

最好是在控制器中执行

HTML 给你:

<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中执行此操作,这样会更干净。

您尚未正确初始化阵列。此外,您正在ng init内部执行比较。ng init用于初始化

试试这个

HTML

$scope.arr = [];
$scope.mainControllerInit = function(){
   if(!$scope.arr.length){
      $scope.arr[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>
<div ng-controller="MyCtrl" ng-init="arr=[]; arr.length=0">
  <input ng-model="arr[0]" />
  <p> {{arr[0]}} </p>
</div>
var myApp = angular.module('myApp', []);
function MyCtrl($scope) {
}