問題タブ [angular-router]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - Angular 2: 異なるルート間で非モジュール レベルのサービスを共有する方法
ServiceA
独自の状態 (インスタンス変数など) を持つサービスがあり、モジュールには service の複数のインスタンスがありますServiceA
。
のインスタンスを複数持つ必要があるためServiceA
、モジュール レベルのコンポーネントにすることはできません。
ComponentB
インスタンスをインスタンス化し、そのServiceA
状態を変更する可能性があります:
また、 の HTML テンプレートには、同じインスタンスにアクセスする必要がComponentB
ある へのルートがあります。ComponentC
ServiceA
の定義は次のComponentC
とおりです。
がモジュール レベルのコンポーネントである場合、とServiceA
で共有しても問題はありません。これらは両方とも同じモジュール内にあるためです。しかし、直接注入されてしまったので、もうできません。毎回 1 つだけが作成され、 の後に作成されることに注意してください。ComponentB
ComponentC
ServiceA
ComponentB
ComponentC
ComponentC
ComponentB
ComponentB
と の間でデータを共有する方法はありComponentC
ますか? ありがとう!
angular - Angular 4 補助ルートが期待どおりに機能しない
1 つのログイン コンポーネントとホーム モジュールを持つアプリケーションがあります。ホームモジュール内にAuxルートを持たせたいです。
ユーザーがログインするとすぐに、ホーム ルートにリダイレクトされます。
これは私の app-routing.module です
以下は私の home-routing.module.ts です
私の予想では、アプリがホーム ルートにリダイレクトされると、this.router.navigate(['/home']);
HomeComponent がレンダリングされ (現在レンダリングされています)、DashboardComponent がレンダリングされます (レンダリングされません)。
「ダッシュボード」への補助ルート内でレンダリングする必要があるコンポーネントへのパスを提供したり、ホームコンポーネントの ngOnInit メソッドからダッシュボードルートにリダイレクトしようとしたりするなど、あらゆる種類のハックを試しましたthis.router.navigate([{ outlets: { aux: 'dashboard' }}]);
しかし、注意はうまくいくようです。私が間違っているのは何ですか?