Ich verwende eine eckige Fabrik, um CRUD in meinen Klassen auf Parse.com durchzuführen. Ich habe insgesamt 4 Klassen und muss erstellen, erhalten, setzen, löschen auf allen 4. Obwohl die URL für jeden anders ist alles andere gleich bleibt. Kann ich Variablen an die Factory übergeben, um den Klassennamen in der API-URL zu ändern?
Hier ist ein Beispiel für eine Fabrik.
%Vor%Offensichtlich ist dieses x4 ein Durcheinander.
Also muss ich die URL von /Programmes
zu /Users
/Prescription
Ich rufe das von meinem Controller so an:
%Vor%Zweitens bin ich in der Lage, den Fehlerhandler auf diese Controllerfunktion gemäß dem Javascript SDK zu taggen?
Ist das was du meinst?
%Vor%Sie können es dann so nennen:
%Vor%1) Verwenden Sie einen Interceptor, um Ihren URL-Code zu bereinigen: Fügen Sie Folgendes in Ihre app.js
ein %Vor%2) In Ihren URL-Anfragen können Sie sie jetzt mit einem einfachen Aufruf von api / class ändern, und Sie können den Klassennamen als Parameter angeben, um dieselbe Funktion wiederzuverwenden. Beispiel:
%Vor%3) Verwenden Sie zur Fehlerbehandlung bei einem Versprechen einfach .error (errFunc) Beispiel:
%Vor%ps Stellen Sie für 1 und 2 sicher, dass Sie $ httpProvider zu Ihrer .config in app.js
hinzufügenIch denke, das sollte wirklich mit Ressourcen gemacht werden und auch spezifische Dienstleistungen für Ihre Objekte abstrahieren, nicht nur alles in einer großen Fabrik zusammenfassen, es ist schlechte Angewohnheit und Form.
Erstellen Sie einen separaten Dienst für jedes Ihrer Objekte ... auch sollten Sie versprechen, dass es für besseren Code führt. Denken Sie daran, dass viele der Lernprogramme, die Sie lesen / kopieren, zum Zweck der Erläuterung der Technologie sind, die keine Produktionsanwendung erstellt.
Definieren Sie einen Service für ein bestimmtes Objekt mit ng-resource
Tatsächlich mit dem Service
%Vor%Siehe vollständiges Beispiel Ссылка
Tags und Links javascript angularjs parse.com factory