Was ist der beste Weg, um Daten für eine Emberjs App beim Laden der Seite zu laden. Ich weiß, dass es höchstwahrscheinlich die Daten von einem Data-for-Attribut oder von Daten innerhalb eines versteckten divs erhält, aber wo im Lebenszyklus der emberjs-App würde das liegen?Bootstrapping Daten in ember.js
Antwort
Es gibt ein paar verschiedene Arten von Daten, die Sie möglicherweise laden. Ich habe mit ember-data
Modelle zusammen mit DS.FixtureAdapter
(für statische Daten) oder die DS.RESTAdapter
(für dynamische Daten
Dies ist ein kleines Beispiel mit Geräten.
App.Store = DS.Store.extend({
revision: 11,
adapter: 'DS.FixtureAdapter'
});
App.Page = DS.Model.extend({
title: DS.attr('string')
});
App.Page.FIXTURES = [{
id: 1,
title: "Test Title #1"
}, {
id: 2,
title: "Random Title #2"
}];
In meinem (eher klein) Apps Ich bin gerade Laden der Fixture-Daten direkt nach dem Definieren des Stores und der Modelle. Dies funktioniert gut für einfache Eins-zu-Eins-Assoziationen (denken Sie an eine statische Liste von Typen oder Kategorien). Bei Verwendung von Nicht-Fixture-Daten wird nur das Attribut model
auf der Route angegeben. und wird bei Bedarf geladen
Aktualisierung
Zum Vorladen der Anfangsdaten (z.B. erste Seite Zustand wie LoggedIn) beim Laden der Seite könnten Sie DS.Store#load
:
Store = DS.Store.create({
revision: 11
});
Page = DS.Model.extend({
title: DS.attr('string')
});
Store.load(Page, {id: 1, title: 'Wow Cool Title'});
Store.find(Page, 1).get('title') //=> 'Wow Cool Title'
Ich verwende den RESTAdapter. Ich versuche herauszufinden, wie man Daten, die ich auf der Seite habe, lädt, wenn ich zunächst alles rendere. So habe ich zum Beispiel einen aktuellen Benutzer, den ich verfolgen möchte, und ich möchte den aktuellen Benutzer beim Laden der Seite laden (sagen wir, der Benutzer schließt die Seite und kommt später wieder). – spullen
Ich denke, das wird funktionieren. Weißt du, ob Store.load Arrays aufnimmt? Wenn nicht, nehme ich an, ich könnte einfach die eingebetteten Daten durchlaufen und für jeden eine Laden laden. – spullen
Ja, Sie können mehr als einen Datensatz gleichzeitig mit 'DS.Store.loadMany' laden (siehe Definition [hier] (https://github.com/emberjs/data/blob/master/packages/ember-data) /lib/system/store.js#L1616) und ein paar Tests [hier] (https://github.com/emberjs/data/blob/master/packages/ember-data/tests/unit/store_test.js#L211). –
- 1. Ember.js: Nicht definierte Daten
- 2. Bootstrapping Datenmodelle in Ember?
- 3. Bootstrapping Aurelia
- 4. Bootstrapping von JSON-Daten in Scala PlayFramework-Vorlagen
- 5. Bootstrapping: Fehler in der Statistik (Daten, Original, ...): unbenutzte Argumente (Original)
- 6. Bootstrapping Angular 2
- 7. Ember.js glut-Daten restadapter scheitern json
- 8. Bootstrapping mit R
- 9. Bootstrapping einer Backbone-Anwendung
- 10. Django/Bootstrapping 404 Fehler
- 11. Ember.js Daten zum Löschen des Datenspeichers
- 12. Zend Layout und Bootstrapping
- 13. Grails - Bootstrapping Testdaten schlägt fehl
- 14. Ember.js Daten aus einer Route nicht in Vorlage
- 15. Ember.js - Zugriff auf Daten in Ember-Sitzung von Route
- 16. Guice: Bootstrapping und Abhängigkeit Graphauflösung
- 17. Bootstrapping-Sammlungen für die Performance
- 18. ZEND Rahmen application.ini und Bootstrapping
- 19. Wie Ergebnisse von Bootstrapping in R exportieren?
- 20. Ember.js Mehrfachauswahl in einer Tabelle
- 21. Mehr Details in Ember.js
- 22. Mehrere Router in ember.js?
- 23. Ereignishandler in ember.js
- 24. Unit-Tests in Ember.js
- 25. Objekte in Ember.js zerstören
- 26. Passing Argumente in Ember.js
- 27. Eingabetyp = "Datei" in Ember.js
- 28. Bootstrapping einer Sprache auf LLVM
- 29. Bootstrapping einer NW.js/Electron-Anwendung
- 30. Bootstrapping SQL Express von WiX?
könnten Sie die „Benutzer kommt zurück“ Teil ein wenig mehr in die Tiefe erklären? dh - verwenden Sie lokalen Speicher oder Cookies oder etwas anderes im Browser, der sofort verfügbar ist (um einige Inhalte anzuzeigen), bevor das $ .ajax-Zeug passiert? –
Der "Benutzer kommt zurück" impliziert, dass es eine Sitzung gibt. Also würde ich ein JSON in das HTML eingebettet haben, das die Ember App zum Bootstrappen verwenden würde (zusammen mit anderen Informationen, nicht nur dem Benutzer). Was ich versuche herauszufinden, ist der beste Ort im Lebenszyklus der Glut-App, um die Daten aus dem HTML-Code zu holen und zu verwenden. – spullen