2017-02-06 1 views
0

これは奇妙に聞こえるかもしれませんが、私のコントローラで現在のルートパスを調べる必要があります。私は答えを見つけることができませんでした。AngularJS現在のルートパス?

私は3つのルートを持っています:デフォルトの "/"、 "レポート"、 "プレビュー"です。

コントローラのルートを確認するにはどうすればよいですか?

constructor(
     private dataService: DataService, 
     private $scope: ng.IScope, 
     private $location: ng.ILocationService, 
     private $route, // what type should it be (for typescript)? 
     private $routeParams: IRouteParams, 
     private $log: ng.ILogService) { 

     var xxx = $route.current; // doesnt work, undefined always 
    } 
+0

この角度または角度2.xですか?これは非常に重要です*** *** – Makoto

+2

'$ route'を探しているタイプは' private $ route:IRouteService'です。これはオプションのプロパティ 'current'を持っています。 [定義](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/angular-route/index.d.ts#L29) –

+0

@AlexanderStaroselskyに加えて、角度経路入力をインストールする必要があります。 'IRouteService'インターフェースは' ng.route.IRouteService'を通して利用可能です。 '$ routeParams'は' ng.route.IRouteParamsService'で実際に利用可能です。 – GStaes

答えて

1

$locationサービスが十分に明確にする必要がありますが$location.path()を使用できる2つの方法と$location.url()

AngularJSのドキュメントがあります

関連する問題