0
track by $index
をng-repeatテーブルで動作させることができません。私は "期待された配列だが受信された:0"というエラーを得る。問題は、私のJSONはIDを持っていないので、各行にIDを作成する必要があるということです。
コントローラー:
function getContainer() {
$http.get("/api/containers")
.then(function (response) {
$scope.GTMcontainersAccount = response.data;
$scope.loading = false;
})
}
$ scope.GTMcontainersAccountが含まれています(JSON):
{
"0": [],
"Account2": [{
"accountId": "1746****",
"containerId": "745****",
}, {
"accountId": "1746****",
"containerId": "751****",
}],
"Account 1": [{
"accountId": "17661****",
"containerId": "748****",
}]
}
ビュー:
<table class="table">
<thead>
<tr>
<th>AccountName</th>
<th>AccountID</th>
<th>ContainerID</th>
<th>ContainerName</th>
<th>Path</th>
</tr>
</thead>
<tbody ng-repeat="(k,v) in GTMcontainersAccount">
<tr ng-if="!GTMcontainersAccount" colspan="4">
<td>No Containers found for this account</td>
</tr>
<div id="loading" name="loading" layout="row" layout-sm="column" layout-align="space-around"
ng-show="loading">
<md-progress-circular ng-show="loading" md-mode="indeterminate"></md-progress-circular>
</div>
<tr ng-repeat="(k1,v1) in v | filter:search:strict">
<td>{{ k }}</td>
<td>{{ v1.accountId }}</td>
<td ng-model="v1.containerId">{{ v1.containerId }}</td>
<td>{{ v1.name }}</td>
<td><a href="/gui/tags/{{v1.path}}">View Container</a></td>
<td>
<md-button ng-init="item.isyellow = false;" ng-class="{yellow : item.isyellow}" ng-click="item.isyellow =!item.isyellow; AddFavorite(item.isyellow,v1.containerId)" class="md-icon-button md-accent md-warn" aria-label="Favorite"">
<span ng-init="item.isyellow = false;" ng-class="{yellow : item.isyellow}" class="glyphicon glyphicon-heart"></span>
</md-button>
</td>
<td>
<md-button type="button" ng-click="row.selected=!row.selected; Hidecontainer(row.selected, v1.containerId);movePerson(index);" class="pull-right btn btn-xs">
<span ng-class="{'glyphicon':true, 'glyphicon-ok':row.selected, 'glyphicon-plus':!row.selected}"></span>
{{row.selected?'Hidden':''}}
</md-button>
</td>
</tr>
</tbody>
</table>
コンソールに入るエラーコード:
main.min.js:3 Error: [filter:notarray] Expected array but received: 0
に*を作成することができますどちらかと言います*実行可能**問題を再現する[mcve] – charlietfl
これは@charlietflになりますが、何が欠けていますか? – Asim
また、 '
'のようなものを追加することで、ビュー内のデータを調べることも簡単です。配列を使って作業していると思っていますが、そうでない場合はエラーが表示されます – charlietfl