Ich versuche den Unterschied zwischen einer Route
und einer Resource
zu verstehen. Die Art, wie ich verstehe Resource
hilft Subpfade eines Route
Objekts zu einem anderen Route
Objekt. Aber es ist unklar, wenn ich denke, Standard-Mapping auch für Pfade passiert.Was ist der Unterschied zwischen einer Route und einer Ressource in der New Router API?
Antwort
Bitte, die ab 1.11.0 Hinweis,
this.route
wird nur stattthis.resource
verwendet. Quelle: http://guides.emberjs.com/v1.11.0/routing/defining-your-routes/ *
Werfen Sie einen Blick auf diese post für eine ausführliche Erklärung.
Dies ist eine grobe Zusammenfassung dieser Post (i ein wenig geändert haben): sie
Seit der Änderung eine Menge Leute Ressourcen- und Route ist verwirrt über die Bedeutung der beide und wie Auswirkung auf die Benennung Hier ist der Unterschied:
- Ressource - ein Ding (ein Modell)
- Route - etwas mit der Sache
Dies bedeutet also, einen Router zu tun, eine Route und Ressource mit aussehen könnte wie folgt aus:
App.Router.map(function() {
this.resource("posts", { path: "/" }, function() {
this.route("new", { path: "/new" });
});
this.route("another", { path: "/another" });
});
Dies würde in den folgenden Strecken führen erstellt/verwendet:
- PostsRoute, Posts, PostsView
- PostsIndexRoute, PostsIndexController, PostsIndexView
- PostsNewRoute, PostsNewController, PostsNewView
- AnotherRoute, AnotherController, AnotherView
Wie wir aus diesem Beispiel sehen, Ressourceneffekt die Benennung der Controller, Routen und Ansichten, die verwendet/erstellt werden (die "neue" Route wird als untergeordnete Ressource "posts" behandelt). Zitieren von der ursprünglichen Quelle (i es geändert, weil es als Patrick M richtig darauf hingewiesen, in den Kommentaren irritierend war):
Das bedeutet, wenn Sie eine Ressource erstellen wird es eine brandneue Namespace erstellen. Dieser Namespace ist nach der Ressource benannt und alle untergeordneten Routen werden darin eingefügt.
Update: komplexeres Beispiel mit verschachtelten Ressourcen
Betrachten Sie das folgende komplexeres Beispiel mit mehreren verschachtelten Ressourcen:
App.Router.map(function() {
this.resource("posts", { path: "/" }, function() {
this.route("new", { path: "/new" });
this.resource("comments", { path: "/comments" }, function() {
this.route("new", { path: "/new" });
});
});
this.route("another", { path: "/another" });
});
In diesem Fall wird die Ressource comments
einen brandneuen Namespace erstellt.Dies bedeutet, dass die resultierenden Routen in diesem Fall die folgenden sein werden. Wie Sie sehen können, haben Route, Controller und View für die Kommentarressource nicht den Namen der übergeordneten Route. Das bedeutet, dass das Verschachteln einer Ressource in einer anderen Ressource den Namespace zurücksetzt (= erstellt einen neuen Namespace).
- PostsRoute, Posts, PostsView
- PostsIndexRoute, PostsIndexController, PostsIndexView
- PostsNewRoute, PostsNewController, PostsNewView
- CommentsRoute, CommentsController, CommentsView
- CommentsNewRoute, CommentsNewController, CommentsNewView
- AnotherRoute, AnotherContro ller, AnotherView
Dieses Verhalten wird auch in der Ember Docs erläutert.
- 1. Was ist der Unterschied zwischen einer Ressource und einer eingebetteten Ressource in einer C# -Anwendung?
- 2. Was ist der Unterschied zwischen new/delete und :: new/:: delete?
- 3. Was ist der Unterschied zwischen new in einem Konstruktor und new in einer Member-Deklaration?
- 4. $ Ressource, was ist der Unterschied zwischen Get und Abfrage?
- 5. Was ist der Unterschied zwischen einer Portnummer und einer Protokollnummer?
- 6. Was ist der Unterschied zwischen einer Subroutine und einer Funktion?
- 7. Was ist der Unterschied zwischen einer Eigenschaft und einer Instanzvariablen?
- 8. Was ist der Unterschied zwischen einer "nonce" und einer "GUID"?
- 9. Was ist der Unterschied zwischen einer HashMap und einer TreeMap?
- 10. Was ist der Unterschied zwischen einer Webreferenz und einer Servicereferenz?
- 11. Was ist der Unterschied zwischen create und new?
- 12. Was ist der Unterschied zwischen Ressource und Endpunkt?
- 13. Was ist der Unterschied zwischen Ressource und Inhalt in einer WPF-Anwendung
- 14. Was ist der Unterschied zwischen next() und next ('route') in einer expressjs App.VERB Anruf?
- 15. Ember.js: Was ist der Unterschied zwischen Router/Route und StateManager/State?
- 16. Was ist der Unterschied zwischen einem Bündel und einer Absicht?
- 17. Was ist der Unterschied zwischen einer Systemeigenschaft und Umgebungsvariable
- 18. Was ist der Unterschied zwischen einem Benutzer und einer Rolle?
- 19. Was ist der Unterschied zwischen einer Funktion und * Funktion?
- 20. Was ist der Unterschied zwischen BackgroundImage und Image einer Schaltfläche?
- 21. Was ist der Unterschied zwischen einer Schließung und einem Modul?
- 22. Was ist der Unterschied zwischen einem Ausdruck und einer Aussage?
- 23. Was ist der Unterschied zwischen API Gateway und ESB?
- 24. Was ist der Unterschied zwischen einem URI und einer URL?
- 25. Was ist der Unterschied zwischen einem Algorithmus und einer Funktion?
- 26. Was ist der Unterschied zwischen einem Fehler und einer Ausnahme?
- 27. Was ist der Unterschied zwischen einer Hashtable und Eigenschaften?
- 28. Was ist der Unterschied zwischen Panik und einer Behauptung?
- 29. Was ist der Unterschied zwischen einer Sprache und einem Framework?
- 30. Was ist der Unterschied zwischen einem Adapter und einer Netzwerkschnittstelle?
Dies sollte in den Ember-Anleitungen deutlicher sein. Dieses Konzept hat mich anfangs sicherlich verwirrt. –
Ausgezeichnete Zusammenfassung eines ausgezeichneten Beitrags. Aber das letzte Zitat, das du eingibst, ergibt keinen Sinn: 'Dieser Namespace wird ein" was [...] "haben. Was bedeutet das" "? Ist es nur ein Platzhalter für Route | Controller | Aussicht? –
Hey Patrick, danke, dass du darauf hingewiesen hast. Ich konnte keinen Hinweis mehr darauf machen. Daher habe ich ein komplexeres Beispiel mit verschachtelten Ressourcen hinzugefügt. Ich denke, diese Stelle bezog sich auf dieses Szenario. – mavilein