angular のオブジェクト内に動的オブジェクトを作成しようとしていますが、その方法がわかりません。
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 が現在空であるためだと思います。しかし、私はそれを解決する方法についての手がかりがありません
どんな助けでも大歓迎です:)