如何在 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]
如何向数据库中插入这样的数字范围:
<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]