如何以角度插入数据库范围

时间:2016-05-08 08:34:46

标签: angularjs angular-ngmodel

如何插入数据库范围的数字,如下所示:

<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]添加到数据库中。

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

3 个答案:

答案 0 :(得分:0)

您必须将值输入模型,

控制器:

td

HTML:

 $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
 }

答案 1 :(得分:0)

您可以尝试恢复最小值和最大值,并尝试在控制器中循环,只需按一下按钮:

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);
 }
}

答案 2 :(得分:0)

如果您使用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]