Verständnis angularJS $resource isArray Eigenschaft
ich Lerne Winkel ist $resource service und in der Winkel-tutorial eine benutzerdefinierte Aktion Hinzugefügt (query), hat seinen Methode auf 'get' und isArray auf true gesetzt ist
return $resource('phones/:phoneId.json', {}, {
query: {method:'GET', params:{phoneId:'phones'}, isArray:true}
});
Jedoch, wenn man sich die Dokumentation für $resource der 'query' - Aktion hat schon seine Methode auf 'get' und isArray ist bereits auf true gesetzt durch Standard. Also dachte ich, dass ich nur verlassen Sie diese Eigenschaften aus.
Dies funktioniert für die Methode Eigenschaft, aber es stellt sich heraus, dass, wenn ich verlassen, die für die isArray Eigenschaft, die ich bekomme diese Fehlermeldung:
Fehler: [$resource:badcfg] Fehler in der Ressourcen-Konfiguration für die Aktion
query
. Erwartete Reaktion auf ein Objekt enthalten, sondern habe ein array
Warum ist das so?
- Haben Sie entfernen die Abfrage von $Ressource?
return $resource('phones/:phoneId.json');
- Nein, ich habe Sie entfernt die method-Eigenschaft, und ich will entfernen die isArray-Eigenschaft, aber das funktioniert nicht
- Aber warum sind Ihre erstellen/ersetzen einer benutzerdefinierten Abfrage-action, wie es schon eines gebaut? Verwenden Sie den code, den ich geschrieben und die Abfrage funktioniert
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube, Sie haben falsch verstanden, die Dokumentation.
Standardmäßig ohne Zugabe von benutzerdefinierten Aktionen, die unterstützt werden:
Also standardmäßig die
query
action erwartet, dass ein array zurückgegeben werden, was Sinn macht, da eine Abfrage in der Regel zurückkehren würde, ein array von Elementen.Also, wenn Sie verwenden:
Können Sie dann führen Sie eine Abfrage in etwa so:
Nun, wenn Sie wollte hinzufügen einer benutzerdefinierten Aktion wird das Standard-für
isArray
istfalse
so:brauchen würde, um ein Objekt zurückgeben. Wenn ein array zurückgegeben wurde, dann
isArray
würde eingestellt werden müssen, um zutrue
etwa so: