0

私はこのjsFiddleを発見し、Ember.jsの新しいv2ルーターを使用して、IndexRouteおよびすべてのサブルートの両方で貢献者のリストを表示するのが最善の方法であるかどうか疑問に思っています。match('/contributor/:contributor_id')

私が経験している問題はそれです

App.IndexRoute = Ember.Route.extend({
    model: function() {
        return App.Contributor.find();
    }
});​

/指定されたルート上のデータのみをフェッチしています。

/#/contributor/[some_id]のデータに直接移動するIndexRouteと、が読み込まれず、ユーザーは最初に移動し/て投稿者のリストを表示する必要があります。

私がたどり着いた唯一の解決策は、テンプレートContributorsViewで呼び出されるaを使用することです。一方、ビューにはルートが持つプロパティapplicationがないため、このビューにデータを入力する方法がわかりません。model

4

1 に答える 1

2

新しいルーターの実装にはまだ慣れていませんが、設計の観点からは、ルートに別の構造を使用します。たとえば、インデックスからアクセスできる寄稿者ルートを追加し、おそらく寄稿者に直接リダイレクトします。次に、常に寄稿者が表示され、そのうちの1つをクリックすると、詳細が表示されます。一種のマスター/詳細ブロック。

ここにルーターマップがあります:

App.Router.map(function(match){
  match('/').to('home');
  match('/about').to('about');
  match('/contributors').to('contributors', function(match){
    match('/').to('contributorsIndex');
    match('/:contributor_id').to('contributor', function(match){
      match('/').to('contributorIndex');
      match('/details').to('contributorDetail');
      match('/repos').to('contributorRepos');
    });
  });
});

これが私がすることです:http://jsfiddle.net/JLHuG/21/それはあなたのために働きますか?

于 2013-01-03T11:07:45.060 に答える