5

サッカー トーナメントに関する情報を表示するための非常に単純な Angular アプリを作成しています。データベース内のトーナメントごとに、試合または統計のビューを表示したいので、次の単純な URL スキームを実装しています。

  • foo/matches: トーナメント Foo の試合
  • foo/stats: トーナメント Foo の統計。

index.htmlファイルは次のように構成されています。

<nav ng-controller="NavController">
  <ul>
    <li> <a href="#/{{ t }}/matches"> Matches </a> 
    <li> <a href="#/{{ t }}/status">  Stats </a>
  </ul>
</nav>

<div ng-view></div>

ルートは次のように構成されます。

app.config(['$routeProvider', function ($routeProvider) {
  $routeProvider
    .when('/:t/matches', {templateUrl: 'partials/matches.html', controller: 'MatchesController'})
    .when('/:t/stats',   {templateUrl: 'partials/stats.html',   controller: 'StatsController'  })
}]);

私の問題は{{ t }}、HTML 内のリンクです。現在のトーナメントの統計または試合リストにビューを変更するためのリンクが必要です。しかし、リンクはビューの外側にあるため、ルート パラメーターにアクセスできません (注入を試みまし$routeParamsたが、取得できるのは空のオブジェクトだけです)。

要約すると、ビューを外部で変更するためのリンクを作成できませんでした。ナビゲーション バーは、現在のトーナメントが何であるかを知りません。

ビューの現在の状態 (この場合は現在のトーナメント) に外部からアクセスするにはどうすればよいですか (また、最善の方法は何ですか?)

4

2 に答える 2

2

ui-routerを使用している場合、 $stateParams サービスを使用して、アプリのどこからでも状態と状態変数にアクセスできます。

于 2013-09-10T00:51:36.030 に答える