2016-05-25 14 views
0

Vor kurzem traf ich mich mit EmberJS. Es gibt ein paar Fragen, ich kann keine Antworten in der Dokumentation finden.Wie organisiert man Api-Anfragen direkt in Emberjs?

  1. Autorisierter Benutzer ruft beim Laden der Seite Daten vom Server unter/api/profile ab. Wenn ich es jedoch über die ember-api-Methode versuche, erhalte ich eine Anfrage für API/Profile. Wie man die richtige Frage stellt? Ich brauche die Benutzerstruktur, speichern Sie sie in "Profil" -Modell und verwenden Sie sie in Routen und Komponenten.

  2. Angenommen, die erste Frage wurde behandelt. Als nächstes gibt es ein Problem mit den Vorlagen. Es gibt eine Stammanwendungsvorlage. Es gibt eine "Nav-Bar" -Komponente, die den Namen des autorisierten Benutzers angibt. Also, wie wird das Modell der Benutzerdaten in diese Komponente eingefügt? Diese Vorlage befindet sich nicht in einer Route. Hier ist {{nav-bar}} Vorlage, also muss ich das Benutzerschema in es übergeben.

    <div id = "wrapper"> {{nav-bar}} {{outlet}} </div> 
    

Ich denke, vielleicht nicht etwas in der Architektur von Embers bekomme ich, bitte hilf mir!

Vielen Dank im Voraus!

Antwort

0

Erste Frage. Ich nehme an, Sie versucht, etwas zu tun, um Ihre Profile zu erhalten:

this.get('store').findAll('profile') 

Standardmäßig wird Ember formatieren Sie Ihre HTTP-Anforderung nach der JSON-API-Spezifikation (siehe http://jsonapi.org/). JSON-API definiert, dass profile Ressourcen unter GET api/profiles zugänglich sein sollen.

Ember ermöglicht es Ihnen, den Adapter anzupassen, alias der Teil, der sich mit der API beschäftigt. Dieses Handbuch hilft Ihnen dabei, den Adapter an Ihre API anzupassen: https://guides.emberjs.com/v2.4.0/models/customizing-adapters/

In Bezug auf Ihre nav-bar Komponente. Sie können Variablen Komponente auf diese Weise passieren:

{{nav-bar user=myUser}} 

Wo myUser eine Variable in Ihrem Controller ist die Komponente und user der Name der Variablen in der Komponente Kontext aufruft.

Es gibt eine große Bibliothek namens ember-simple-auth (https://github.com/simplabs/ember-simple-auth), die Ihnen helfen wird, mit der Benutzerauthentifizierung umzugehen. Ich würde dir empfehlen, einen Blick darauf zu werfen, bevor du hineinspringst.

+0

Hallo, danke für deine Antwort. Das Problem mit {{nav-bar user = meinBenutzer}} ist, dass sich dieser Ausdruck in aplication.hbs befindet, und diese Vorlage hat keine eigene Route, daher kann ich dort kein Modell übergeben. – DenimTornado

+0

Sie können einen Controller und eine Route für "Anwendung" haben. Fragen Sie einfach ember-cli, dies mit 'ember generate route application' und' ember generate controller application' zu tun. Beachten Sie, dass alle Routen der Anwendungsroute untergeordnet sind. Stellen Sie sicher, dass das, was Sie dort definiert haben, Ihre Anwendung nicht zu sehr beeinflusst. –

Verwandte Themen