コントローラフィルタ:notarray期待配列が、受信:0
@RequestMapping(value = "/graphs", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public Collection<Graph> getSkeletonGraph()
{
log.debug("REST request to get current graphs");
return graphService.getSkeletonGraphs();
}
角度コール
$scope.graphs = [];
Graph.getGraphs().$promise.then(function(result)
{
$scope.graphs = result;
});
angular.module('sampleApplicationApp').factory('Graph', function($resource)
{
return {
getGraphs: function() {
return $resource('api/graphs/:id').query();
}
};
})
フィルタを使用して、なぜ私はわからないが、私は例外を取得します。
もともと角度のある文書で見たhttps://docs.angularjs.org/error/filter/notarray 私の結果は配列ですが、なぜそのような例外が発生するのかわかりません。
バックエンドからのサンプル結果が表示されています。
[{"id":"135520b0-9e4b-11e5-a67e-5668957d0149","area":"Bingo","models":[],"enumerateds":[]},{"id":"0db925e0-9e53-11e5-a67e-5668957d0149","area":"jin","models":[],"enumerateds":[]},{"id":"7a717330-9788-11e5-b259-5668957d0149","area":"Product","models":[],"enumerateds":[]},{"id":"402d4c30-980f-11e5-a2a3-5668957d0149","area":"fgfgfg","models":[],"enumerateds":[]},{"id":"404b77b0-9e53-11e5-a67e-5668957d0149","area":"olah","models":[],"enumerateds":[]},{"id":"cd071b10-9e52-11e5-a67e-5668957d0149","area":"lolo","models":[],"enumerateds":[]},{"id":"d9808e60-9710-11e5-b112-5668957d0149","area":"catalog","models":[],"enumerateds":[]},{"id":"2aaca9f0-97e2-11e5-91cd-5668957d0149","area":"btg","models":[],"enumerateds":[]},{"id":"955e9ed0-978c-11e5-93fd-5668957d0149","area":"promotions","models":[],"enumerateds":[]},{"id":"1e441d60-980f-11e5-a2a3-5668957d0149","area":"hjuhh","models":[],"enumerateds":[]},{"id":"fb96dfe0-978d-11e5-93fd-5668957d0149","area":"voucher","models":[],"enumerateds":[]}]
HTML
<li ng-repeat="g in graphs track by $index | filter:searchText"></li>
の文書によると、あなたの提案 –
そのドキュメントに記載されたルールの背後にあるロジックを記述してください可能性があります。フィルタは、式の前にトラックの前に適用する必要があります。 docs:https://docs.angularjsを参照してください。org/api/ng/directive/ngRepeat –
Angularウェブサイトのフィルタが動作していた理由を理解しようと2時間を費やした後、これが私の問題を解決する唯一の答えでした!言うまでもなく、おそらくドキュメントを開いて再度読む必要があります。しかし、これは非常に直観的ではないので、エラーはまったく助けになれません。なぜ '$ indexによって追跡する 'が常に最後の式であるべきですか?私の頭には意味がありません。 – MacK