regolatoreFiltro: array notarray previsto, ma ha ricevuto: 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();
}
chiamata angolare
$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();
}
};
})
io non sono sicuro perché utilizzando il filtro ottengo l'eccezione.
guardato anche in angular doc https://docs.angularjs.org/error/filter/notarray Il mio risultato è array ma non sono sicuro del motivo per cui sto ottenendo tale eccezione.
Risultato del campione dal backend che sto ottenendo.
[{"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>
potreste descrivere la logica dietro suo suggerimento –
sua una regola menzionati nella documentazione. I filtri devono essere applicati prima della traccia per espressione. Vedi in documenti: https: //docs.angularjs.org/api/ng/direttiva/ngRepeat –
Dopo aver passato 2 ore a cercare di capire perché il filtro sul sito Web di Angular funzionava e la mia non era questa era l'unica risposta che ha risolto il mio problema! Inutile dire che probabilmente avrei bisogno di aprire e rileggere i documenti. Tuttavia questo è molto anti-intuitivo e l'errore non aiuta affatto, perché "track by $ index" dovrebbe essere sempre l'ultima espressione? Non ha senso nella mia testa. – MacK