3

テンプレート/Webページが次のような単一ページのWebアプリを持っています:

[テンプレート左 | テンプレート右]

一部のユーザーがログインしていないときに別のページ (ログインページ) に移動し、ログインしているときにルートが templateRight のみに影響するようにルートを設定したい (templateLeft がリロードされないように)。

これを行うにはルーティングと ng-view を使用するのが最善の方法のようですが、1 つのルートはページ全体に影響し、1 つのルートは templateRight のみに影響するため、コントローラー/ルートを適切に作成する方法がわかりません。ネストされた ng-view を持つことができないように。

私が間違っている?これを達成するための良い方法は何ですか?

4

2 に答える 2

3

実際、ここで利用可能なAlpha開発が進行中です:https ://github.com/angular-ui/ui-router

主な目標 Angularの「ルート」の概念を、粗いアプリケーションUIの状態を管理するための「状態」のより一般的な概念に進化させること。

主な機能:状態マネージャーの$stateProviderと$stateは、状態ロジックをルーティングロジックから分離します。ネストされた状態(親子関係)。名前付きビューを介して複数のビューを設定できます。ui-viewディレクティブ。Angularv1ルーターと互換性のあるURLルーティングの下位互換性

于 2013-02-18T10:23:14.480 に答える
2

現在のバージョンの AngularJS でネストされた ngView を持つ標準的な方法はありません。これは非常に一般的なリクエストであり、このためにオープンされたプル リクエストがいくつかありますが、何もチェックインされていません。

メーリング リストと SO の両方でこのトピックについていくつかの議論があり、人々はさまざまな戦略を採用しようとしていましたが、繰り返しになりますが、ngView をネストするクリーンで推奨される方法はありません。

最近、AngularJS チームは複数のルーターの余地があることを認識し、ルーティング サービス (およびngViewディレクティブ) をコアから別のモジュールにリファクタリングしました。「公式」ルーターを置き換える最も有望なコミュニティ主導の取り組みは、angular-ui ルーターのようです: https://github.com/angular-ui/router

于 2012-11-29T15:14:52.097 に答える