Ich habe bereits zahlreiche Fragen hier gelesen, aber etwas klickt einfach nicht mit mir und verstehe dieses Problem, das ich habe.
der js Code:
app.controller('example_ctrl',['$scope','$http', function($scope,
$http){
$http.get('api_call_here').then(function successCallBack(response){
$scope.response = response;
});
Json-Format von api:
{
"categoryOne": {
"1": {
"title": "someData1",
"description": "This is number One"
},
"2": {
"title": "moreData1",
"description": "I am not a number, I'm a free man!"
}
}
}
Jetzt, da diese hasnt in einem Array zurückgegeben worden, ich erhalte eine Fehlermeldung, wenn ich versuche, es zu filtern. Als Beispiel:
<div ng-repeat="(category, object) in response.data">
<div ng-repeat="item in object">
<p>{{item.title}}</p>
</div>
</div>
Nun, wenn ich versuche, ein ng-Modell auf einer Sucheingabe zu setzen, und das mit einem in die ng-repeat binden | Filter: ng-Modellnamen, bekomme ich einen Fehler.
Was ich grundsätzlich tun möchte, ist, wenn Sie Text in das Suchfeld eingeben, haben Sie nur den Titel/Beschreibungen, die diesen Text enthalten.
haben Sie die Ausgabe-Header von Ihrem api auf application/json wird geprüft? es würde nicht wirklich json zurückgeben, wenn es nur eine Zeichenkette ist – mtizziani
Es gibt ein Objekt zurück, wenn ich console.log erhalte. –
Sie müssen die Elemente zu Arrays zuordnen, da Filter auf Objekt – charlietfl