1

1.5x プロジェクトをコンポーネントに切り替えて、新しいコンポーネント ルーターを使用しようとしています。$routerディレクティブ内にないいくつかのコンポーネントにプログラムでアクセスする方法に問題があります。基本的に、できる必要があるヘッダーとサイドバーのコンポーネントがあります$router.navigvateが、バインディングを使用{$router: "<"}すると、 undefined になり$routerます。

アプリを少し再構築する必要があるかもしれないと思いますが、どうすればよいかわかりません。

現在、私の Index.html には、本文に ng-app が定義されており、その中にメインのアプリ モジュールがあります ( <app></app>)。私のメイン アプリ コンポーネントには、基本的に「マスターページ」を含むテンプレートがあります。

したがって、app.html には<header>コンポーネント、<sidebar>コンポーネント、そして<ng-outlet>メイン コンテンツがあります。UI-Router では、ヘッダー/サイドバー コントローラーで $state サービスを使用して、アクティブな状態を見つけたり、新しい状態に移動したりしました。

component-router を使用すると、$router をヘッダー/サイドバー コントローラーに入れる方法がわかりません。

何か案は?

4

1 に答える 1

2

コントローラーで $rootRouter を使用する

function controller($rootRouter){ $rootRouter.navigate(["someComponent"]) or $rootRouter.navigateByUrl("/url") }

于 2016-05-25T19:40:39.483 に答える