我有一种情况,我希望用户<input>
在想要输入新项目时动态添加行。如下图所示,用户点击“添加输入项”按钮,一个新的输入元素被添加到用户可以添加文本的地方。
我正在尝试将每个输入元素值$scope.items
与app.js
. 在index.html
我$scope.items
的ng-repeat
. 我不明白的是如何让每个输入/行自动添加到定义为$scope.items
.
是否可以将每个输入元素映射到与items
数组相关的 ng 模型,如果可以,如何映射?或者,在这种情况下应该使用指令吗?
完整的代码和运行时在Plunker 上(以便您可以查看奇怪的输出)。
片段来自index.html
:
<body ng-controller="MainCtrl">
<button ng-click="addInputItem()">+ Add Input Item</button>
<div ng-repeat="item in items">
<input ng-model="items" type="text" value="{{item}}" size="40">
</div>
<pre>items = {{items | json}}</pre>
</body>
app.js
代码:
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.items = ['First Item', 'Second Item'];
$scope.addInputItem = function() {
$scope.items.push('');
};
});