Ember.js: `Ember.Route`の` currentModel`を公開することを検討してください

作成日 2015年07月15日  ·  4コメント  ·  ソース: emberjs/ember.js

このプライベートAPIは、現在のルートのモデルをプログラムで取得するためにアプリケーションで頻繁に使用するAPIです。 これは主にthis.modelFor(this.routeName) ¹にとって便利です。 これは、現在のルートのモデルを取得する必要がある再利用可能なルートコードを作成する場合に特に便利です。

¹ routeNameは非公開ですが、#11759を参照してください

最も参考になるコメント

良さそうです。次に、 ApplicationRouteエイリアスを作成します。これは、非常に便利で見落とされがちなため、 currentModel: function () { return this.modelFor(this.routeName); }すぎません。 しかし、私たちは続けます!

全てのコメント4件

:+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); }すぎません。 しかし、私たちは続けます!

このページは役に立ちましたか?
0 / 5 - 0 評価