Was ist der beste Weg, um Modell für einen aktuellen Controller basierend auf einer anderen Eigenschaft neu zu laden?
Zum Beispiel: Ich habe einen Post-Controller. Der Autor kann nur einen Beitrag haben. Ich möchte Nachher erstellen Formular neu laden, wenn currentAuthor Eigenschaft ändert.
Ich habe es so versucht:
%Vor%Es lädt alles neu, aber gibt kein echtes Modell zurück, sondern verspricht. Und es sieht auch nicht wie eine idiomatische Ember-Lösung aus.
Vielleicht gibt es einen besseren Weg, dieses Problem anzugehen?
Ich glaube, das Nachladen von Controllern ist gleichbedeutend damit, dieselbe Route erneut einzugeben. ab 2.12.0 gibt es also viele Möglichkeiten,
Aktualisieren Sie das Modell auf dieser Route und auf allen untergeordneten Routen und feuern Sie die Hooks beforeModel, model und afterModel auf ähnliche Weise wie Routen beim Übergang von einer anderen Route eingegeben werden.
und Sie können this.transitionTo('post',123)
sagen, dies aktualisiert die aktuelle Route und Sie erhalten 123 als Parameter im Model Hook.
Sie können sogar die gleiche postId als queryParams im Controller angeben. Es wird die Route aktualisieren, wenn Sie postId
-Eigenschaft festlegen.
Ich bin nervös, Ihnen eine Lösung für dieses Problem zu geben, weil ich mir nicht sicher bin, ob Sie es richtig angehen:
%Vor% Dies sollte die Inhaltseigenschaft PostEditController
neu laden und daher Ihre Vorlagen aktualisieren, wenn sich die currentAuthor
-Eigenschaft des Inhalts ändert.
So etwas würde einen anderen Beitrag finden und ihn dann als Inhalt von PostEditController
festlegen.
store.find
wird Ihnen eine Zusage zurückgeben, also sollten Sie es lösen, um Probleme mit Methoden ohne Aufruf zu vermeiden
Tags und Links javascript ember.js ember-data