我有一个脚本的例子。简而言之 - 如果单击“添加”,则会创建一些新元素,因为它是填充字段。二手离子。 有必要确保当您单击“添加”以打开新模板时,已经在那里创建元素。但不是现在。
<!DOCTYPE html>
<html ng-app='main.app'>
<head>
<link data-require="bootstrap@3.3.2" data-semver="3.3.2" rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" />
<script data-require="angular.js@1.3.15" data-semver="1.3.15" src="https://code.angularjs.org/1.3.15/angular.js"></script>
<script src="script.js"></script>
</head>
<body ng-controller='AppController as AppCtrl'>
<div class="list">
<label class="item item-input" ng-repeat="item in AppCtrl.items track by $index">
<span class="input-label">Input</span>
<input type="text" ng-model="item.text">
</label>
</div>
<a class="btn btn-default" ng-click="AppCtrl.AddItems()">Add</a>
</body>
</html>
angular.module('main.app', [])
.controller('AppController',function(){
var self = this;
self.items = [{text:''},{text:''},{text:''},{text:''},{text:''}];
self.AddItems = function(){
var empty = 0;
for(var i = 0; i < self.items.length; i++){
if(self.items[i].text == ''){
empty++;
}
}
empty = 5-empty;
for(var i = 0; i < empty; i++){
self.items.push({text:''});
}
}
});
答案 0 :(得分:0)
我可能误解了您的需求,但看起来您与empty
变量存在一点混淆。
在上一次 for 迭代中,0
为for(var i = 0; i < 5; i++){
self.items.push({text:''});
}
,然后没有任何项目添加到您的数组中。
例如,如果您将 for 条件更改为:
python myscript.py -gui
您已将项目添加到数组和HTML中。