我正在尝试在有角度的对象中创建一个动态对象,但我不知道该怎么做。
这是 HTML 片段:
<div ng-controller="appCtrl">
<table>
<tr data-ng-repeat='role in roles' >
<td>{{role.name}}</td>
<td>:</td>
<td>
Total<input data-ng-model="mgmtData[roles[$index].code].total" type='number' min="0"/>
<br>
{{mgmtData.GM.total}}
</tr>
</table>
</div>
这是控制器片段:
app.controller('appCtrl', function($scope) {
$scope.mgmtData = {};
$scope.roles = [
{
name: "General Manager",
code: "GM"
},
{
name: "Transport Manager",
code: "TM"
},
{
name: "Safety Executive",
code: "SE"
}
];
});
我希望它看起来像这样:
<div ng-controller="appCtrl">
<table>
<tr>
<td>General Manager</td>
<td>:</td>
<td>
Total<input data-ng-model="mgmtData.GM.total" type='number' min="0"/>
<br>
{{mgmtData.GM.total}}
</tr>
<tr>
<td>Transport Manager</td>
<td>:</td>
<td>
Total<input data-ng-model="mgmtData.TM.total" type='number' min="0"/>
<br>
{{mgmtData.TM.total}}
</tr>
<tr>
<td>Safety Executive</td>
<td>:</td>
<td>
Total<input data-ng-model="mgmtData.SE.total" type='number' min="0"/>
<br>
{{mgmtData.SE.total}}
</tr>
</table>
</div>
这样做的正确方法是什么?我不断得到无法设置未定义的属性总数。我假设这是因为 mgmtData 当前为空。但是,我不知道如何解决它
任何帮助是极大的赞赏 :)