如何在 angular 中将数字范围插入数据库

How to insert range of numbers to database in angular

如何向数据库中插入这样的数字范围:

<form>
        <input class="form-control"></input>  <!-- insert first number -->
        <input class="form-control"></input>  <!-- insert last number -->
        <button class="btn btn-primary">Add numbers to database</button>
    </form>

例如:

第一个输入:1 第二个输入:100

此表单应通过 ng-model 添加项目 [1,2,3,4,5,6,7,8...,100] 到数据库。

我只是不知道如何在这里做一些循环。

您必须像这样将值输入模型,

控制器:

 $scope.range;
 $scope.insertRange = function(range){
    var rangeNumbers=[];
  for(var i=range.first;i <= range.last;i++){
     rangeNumbers.push(i);
  }
 // call to api to save rangeNumbers
 }

html:

<form>
    <input class="form-control" ng-model="range.first"></input>  <!-- insert first number -->
    <input class="form-control" ng-model="range.last"></input>  <!-- insert last number -->
    <button class="btn btn-primary" ng-click="insertRange(range)">Add numbers to database</button>
</form>

您可以尝试恢复最小值和最大值,并尝试通过 ng-click 按钮在控制器中循环:

html

<form>
    <input class="form-control" ng-model="myCTRL.minValue"></input>  <!-- insert first number -->
    <input class="form-control" ng-model="myCTRL.maxValue"></input>  <!-- insert last number -->
    <button class="btn btn-primary" ng-click="myCtrl.addRangeinArray()">Add numbers to database</button></form>

在javascript

function addRangeinArray() {
 for (number = vm.minValue;number < vm.maxValue;++number) {
  mytab.push(number);
 }
}

如果您正在使用 es5,您可以尝试 underscore range function

 _.range = function(start, stop, step) {
    if (arguments.length <= 1) {
      stop = start || 0;
      start = 0;
    }
    step = arguments[2] || 1;
    var len = Math.max(Math.ceil((stop - start) / step), 0);
    var idx = 0;
    var range = new Array(len);
    while(idx < len) {
      range[idx++] = start;
      start += step;
    }
    return range;
  };

_.range(1, 101);
=>  [1, 2, 3, 4, 5, 6, 7, 8..., 100] 

或者,如果您正在使用 es2015,您可以像

Array.from(Array(100), (v, k) => k + 1);
=>  [1, 2, 3, 4, 5, 6, 7, 8..., 100]