这里有一些代码:
<div *ngFor="let field of fields">
<div>
<label>{{field}}</label><input name="item.field" [(ngModel)]="item.field">
</div>
</div>
&#34;字段&#34;是&#34; item&#34;的每个字段的字符串等于的列表。宾语 &#34;项目&#34;是一个具有多个属性的对象。
我想使用这个简单的* ngFor生成一个动态表单,并编写如下内容:
&#34; item.field&#34;
我做错了吗?
谢谢你!
答案 0 :(得分:0)
只需使用:
<label>{{item[field]}}</label><input name="item[field]" [(ngModel)]="item[field]">
答案 1 :(得分:0)
尝试使用方括号表示法:
<div *ngFor="let field of fields">
<div>
<label>{{field}}</label><input name="item[field]" [(ngModel)]="item[field]">
</div>
</div>
答案 2 :(得分:-2)
试试这段代码:
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<body>
<div ng-app="myApp" ng-controller="customersCtrl">
<table>
<tr ng-repeat="x in fields">
<td>
<!-- field name -->
{{x.field}}:
<br>
<!-- fields -->
<input type="text" name="x.f" placeholder="{{x.hint}}">
<br>
</td>
</tr>
</table>
<br>
<input type="submit" name="b1" value="submit">
</div>
<script>
var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope)
{
$scope.fields =
[{field:'name',hint:'enter name'},{field:'address',hint:'enter address'},{field:'phone', hint:'entercontact number'}];
});
</script>
</body>
</html>
输出: