このプライベートAPIは、現在のルートのモデルをプログラムで取得するためにアプリケーションで頻繁に使用するAPIです。 これは主にthis.modelFor(this.routeName)
¹にとって便利です。 これは、現在のルートのモデルを取得する必要がある再利用可能なルートコードを作成する場合に特に便利です。
¹ routeName
は非公開ですが、#11759を参照してください
:+1:非常に便利です-ルートthis.modelFor('a.route.name')
を見ると、それが現在のルートの名前であるかどうかを常に再確認する必要があります。 これにより、混乱の原因が排除されます。特に、他のルートのモデルではなく、独自のモデルを操作してルートにアクションを処理させることがベストプラクティスのようです。
今日の午後のコアチームミーティングでこれについて話し合い、これを非公開にしておくことにしました。 あなたが言ったように、 this.modelFor(this.routeName)
(私はthis.routeName
公開する必要があると#11759でチャイムを鳴らしました)は、パブリックAPIでこれを行うための良い方法です。 this.get('controller.model')
使用することもできます。 これらの提案は両方とも、 @ davidgoliが言及したthis.modelFor('a.b.c')
のあいまいさを取り除く必要があります。
議論のために問題を開いてくれてありがとう、私たちが議論し、非公開にすることに決めたので、私は今閉じます。
良さそうです。次に、 ApplicationRoute
エイリアスを作成します。これは、非常に便利で見落とされがちなため、 currentModel: function () { return this.modelFor(this.routeName); }
すぎません。 しかし、私たちは続けます!
最も参考になるコメント
良さそうです。次に、
ApplicationRoute
エイリアスを作成します。これは、非常に便利で見落とされがちなため、currentModel: function () { return this.modelFor(this.routeName); }
すぎません。 しかし、私たちは続けます!