Ember.js: Ziehen Sie in Erwägung, `currentModel` in `Ember.Route` öffentlich zu machen

Erstellt am 15. Juli 2015  ·  4Kommentare  ·  Quelle: emberjs/ember.js

Diese private API verwende ich häufig in meinen Anwendungen, um das Modell der aktuellen Route programmgesteuert abzurufen. Es ist meistens eine Bequemlichkeit für this.modelFor(this.routeName) ¹. Dies ist besonders nützlich, um wiederverwendbaren Routencode zu schreiben, der an das Modell der aktuellen Route gelangen muss.

¹ Obwohl routeName privat ist, siehe #11759

Hilfreichster Kommentar

Klingt gut, ich werde dann einen Alias ​​in ApplicationRoute erstellen, der nur currentModel: function () { return this.modelFor(this.routeName); } weil das immens nützlich ist und schade, dass es übersehen wird. Aber wir machen weiter!

Alle 4 Kommentare

:+1: super nützlich - wenn ich in einer Route this.modelFor('a.route.name') sehe, muss ich immer überprüfen, ob es der Name der aktuellen Route ist oder nicht. Dies würde diese Verwirrungsquelle beseitigen, insbesondere scheint es die beste Vorgehensweise zu sein, die Route die Aktionen durch die Manipulation ihres eigenen Modells und (idealerweise) nicht des Modells einer anderen Route behandeln zu lassen.

Wir haben dies heute Nachmittag beim Kernteam-Meeting besprochen und beschlossen, dass wir dies als vertraulich behandeln möchten. Wie Sie erwähnt haben, ist this.modelFor(this.routeName) (ich habe mich gerade in #11759 eingemischt, dass wir this.routeName öffentlich machen sollten) eine gute Möglichkeit, dies mit öffentlichen APIs zu tun. Sie können auch this.get('controller.model') . Beide Vorschläge sollten die Mehrdeutigkeit mit this.modelFor('a.b.c') beseitigen , die

Vielen Dank, dass Sie das Thema zur Diskussion geöffnet haben. Ich schließe jetzt, da wir diskutiert und beschlossen haben, privat zu bleiben.

Klingt gut, ich werde dann einen Alias ​​in ApplicationRoute erstellen, der nur currentModel: function () { return this.modelFor(this.routeName); } weil das immens nützlich ist und schade, dass es übersehen wird. Aber wir machen weiter!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen