使用 Angularjs,我想创建 say 10 <div>
如果用户在文本框中输入“10”。
<input type="text" id="gcols" placeholder="Number of Columns" ng-model="cols"/>
因此,无论用户在此框中输入什么值,都应创建这些值。所以我的普遍问题是,如何“ng-repeat”<div>
'ng-model' 次?
更新: 感谢您的所有回答,我通过引用您的回答做了类似以下的事情。到目前为止,这是可行的,但请告诉我是否有任何其他逻辑比这更有效。
$scope.divs = new Array();
$scope.create=function(){ //I added a button & invoked this function on its ng-click
var a = $scope.cols;
for(i=0;i<a;i++)
{
$scope.divs.push(a);
}
alert($scope.divs);
};
最佳答案
您需要创建一个数组来对其进行迭代。 在你的 Controller 中:
app.controller('ctrl', function ($scope) {
$scope.cols = 0;
$scope.arr = [];
$scope.makeArray = function () {
$scope.arr.length = 0;
for (var i = 0; i < parseInt($scope.cols) ; i++) {
$scope.arr.push(i);
}
}
});
在你看来:
<div ng-controller="ctrl">
<input ng-model="cols" type="text" ng-change="makeArray()" />
<div ng-repeat="o in arr">hi</div>
</div>
关于javascript - Angularjs - 如何 'ng-repeat' 'value in ng-model' 次 div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20882004/