Zugriff auf Ember Model von der Route in Ember CLI

8

Vielleicht wäre es für mich einfacher gewesen, das mit einer normalen Ember-Anwendung zu tun, bei der der gesamte Code in app.js enthalten wäre. Aber da ich Ember CLI verwende, habe ich Probleme beim Zugriff auf mein Modell in meiner Route. Ich versuche immer noch zu lernen, wie man Ember CLI benutzt, also bitte hilf mir.

Da ich nur AJAX-Aufrufe auslösen und die Daten auf meiner Benutzeroberfläche rendern möchte, habe ich die Ember-Modellbibliothek heruntergeladen und zu meinem Projekt hinzugefügt. Ich sehe keine Notwendigkeit, Ember Data zu verwenden. Dies ist die Ember Model Dokumentation, auf die ich mich beziehe: Ссылка . Mit dem gesagt, hier ist meine Verzeichnisstruktur, die Ember CLI vorgeschlagen:

%Vor%

Dies ist eine viel einfachere Darstellung der tatsächlichen Projektstruktur, die ich nur auf das Problem konzentrieren muss. Wie in der Ember-Modell-Dokumentation vorgeschlagen, habe ich meinem Kundenmodell (Modell \ customers.js) den folgenden Code hinzugefügt:

%Vor%

Beachten Sie, dass ich "export default" anstelle von "App.Customers = Ember.Model.extend ..." ausführen musste. Dies ist die Ember-CLI-Konvention. Wenn ich versuche, auf das Modell zuzugreifen, das ich in meiner Kundenroute erstellt habe, erhalte ich den Fehler "Fehler beim Laden der Route: ReferenceError: App ist nicht definiert" ..

Kunden Routencode:

%Vor%

Ich probierte this.model () - Liefert ein Objekt vom Typ supperWrapper und this.modelFor () - Gibt null zurück.

Bitte schlagen Sie vor, wie Sie mein Modell auf seiner Route erfassen können, damit ich CRUD-Operationen ausführen kann, die von Ember Model bereitgestellt werden.

Danke!

    
Vinay 24.04.2014, 18:10
quelle

1 Antwort

16

Ich schlage vor, dass Sie den Dateinamen des Modells in singular z. customer.js .

Wenn Sie innerhalb der Routendatei auf die Modellklasse zugreifen möchten, müssen Sie das Modell importieren. Da die Ember-CLI die Syntax des ES6-Moduls verwendet, können / sollten Sie nicht direkt auf das Objekt App zugreifen. Dies sollte über Importanweisungen oder Ember intern über den Resolver geschehen.

%Vor%

Jetzt können Sie es im Modell-Hook verwenden. Es gibt noch einen weiteren Fehler in Ihrem Beispielcode, Sie müssen das Versprechen vom Suchaufruf zurückgeben.

%Vor%

Ich bin neugierig, warum Sie Ember Model über Ember Data ausgewählt haben, denn für dieses Beispiel würden Sie weniger Code mit Ember Data benötigen und es wäre mehr wie der Ember-Weg AFAIK.

    
stravid 24.04.2014, 18:34
quelle

Tags und Links