問題タブ [angular2-routing]

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.

0 投票する
5 に答える
16130 参照

angular - Angular2 は現在のルートのエイリアスを取得します

location.path() を使用して、/about、/、/news のような現在のルートのパスを取得できます。しかし、代わりにエイリアスを取得するにはどうすればよいですか (ルート定義の「as」部分)。

出来ますか?

0 投票する
1 に答える
4054 参照

angular - angular2に場所を挿入するにはどうすればよいですか?

Http を注入するのと同じように Location を注入するのと同じ方法だと思いました。ただし、最後の行で「public location: Location」のコメントを外すと、アプリが壊れます。ページがレンダリングされません。私が見る限り、正しいインポートとプロバイダーの配列があります。

私の index.html には、次の行があります。

私のブートストラップ コードには、次のものがあります。

何かを見逃したのか、それとも現在のビルドが壊れているのかわかりません。それが最初のケースである場合、私は何を見逃しましたか?

0 投票する
2 に答える
13801 参照

angular - HTML5ルートを使用するとAngular 2のルーターが壊れますか?

このまったく新しいルートの構文は、真実であるように聞こえますが、今では実際にそうであると考えています。私はそれを機能させることをあきらめました。ここで、Angular 2 ページのメインの例でさえ機能しないことに気付きました。ライブの例を開いて試してみると、クリックするだけでうまく動作し、URL のパスが変更されていることがわかりますが、文字列を変更しているだけで、URL をコピーして送信すると、パスは実際には存在しません。誰かに次のエラーが表示されます。

ページを更新しただけでも、同じエラーが発生します。

問題を再現するには、次の URL を開きます。

https://angular.io/resources/live-examples/tutorial/ts/plnkr.html

ライブ プレビューの右上にある [別のウィンドウでプレビューを起動] ボタンをクリックし、ページが読み込まれるのを待ち、URL が次のように変化するのを確認します。

http://run.plnkr.co/KMzM8hkaCyhlnf3b/dashboard

F5 キーを押してページを更新すると、エラーが発生します。

これはバグなのか、動作するはずの方法なのか、それとも試していないものなのか? 彼らはすでに悪いルーターの実装でもう一度やり直していますか、それとも私がそれを機能させようとしている方法に完全に迷っていますか? ご意見をお聞かせください !

ハッシュタグの実装を使用したほうがよいと思います。

0 投票する
1 に答える
1104 参照

angular - URLパスにスラッシュを追加せずにangular2のネストされたコンポーネントルーティングを実現する方法

angular2 を使用して単一ページ アプリケーションを構築していますが、アプリのルーティングに応じて別のアプリケーション テンプレートをレンダリングする必要があります。最上位レベルでは、メイン アプリケーション テンプレートとアプリの管理テンプレートを切り替えることができる必要があります。

ルーティング ルール:

  • URL パスが /auth で始まる場合、AuthApp によって処理されます。
  • それ以外で始まる場合は、MainApp で処理する必要があります

実装:

これを実現するために、このように AuthApp または MainApp のいずれかに責任を委譲する最高レベルのコンポーネント アプリを用意しました。

次に、各サブアプリ (AuthApp、MainApp など) には、このような独自のルート定義があります。

機能的にもデザインの観点からも、これは素晴らしい作品です!

問題:

アプリケーションのルート構成でパスが指定されていないメイン アプリ (例: /...=> MainApp) では、ネストされた URL パスは必要ありません。たとえば、アプリ (routerLink) を介して CurrentVacancys に移動すると、URL が更新され、余分な不要なスラッシュが付加されます。URL パスは、読み取り.../#//current-vacanciesたいときに次のようになります.../#/current-vacancies

アドレスバーに入力すると、アプリケーションルーティングが実際に機能し.../#/current-vacancies、正しく遷移します。しかし、アプリケーションの routerLink ディレクティブを介してナビゲートすると、不要なスラッシュが追加されます。

これが起こっている理由を論理的に理解しています.MainAppに委譲するルートコンポーネントには「/」のパスがあり、子コンポーネントと連結されて完全なURLパスを形成します. ただし、この場合、スラッシュを追加することは望ましくありません。どうすればそれを削除できるか、または何らかの形でこの動作をオーバーライドできるかについてのアイデア。

ところで、MainApp コンポーネント ルーティングを最上位に移動することを検討しました。これにより、私が報告している URL パスの問題は解決されますが、最上位でテンプレートを切り替えることはできません。

要約すれば

どちらかで私を助けてください

  • /メインアプリルートで不要なものを削除する方法"preferred option"、または
  • ネストされたコンポーネント ルーティングを使用して切り替え可能な最上位テンプレートをアプリに設計する方法。

ありがとう

0 投票する
0 に答える
287 参照

angular - ネストされたルート定義を使用する場合、angular2 ComponentInstruction から完全な urlPath を取得する方法は?

ネストされたルート定義で angular2 を使用しています。たとえば/auth/login、実際にはパス セグメントごとに階層的に分割されており、ルートを委任する親コンポーネントが Auth コンポーネントに一致/auth/...し、 Auth コンポーネントなどを処理/loginします。/reset

私が抱えている問題は、ルーティングさComponentInstructionれたカスタムをインターセプトするRouterOutletと、コンポーネント命令には独自のパスセグメントしか含まれないことです。

上記の例を使用すると、コンポーネント命令 urlPath には、urlPath 値として/auth/loginのみ含まれloginます。本当に私が欲しいのは、完全な urlPath へのアクセス、またはこのパスを確実に再構築する何らかの手段ですか?

0 投票する
1 に答える
768 参照

angular - ネストされた状態の Angular2 ルーティング

ユーザー (デフォルト) を表示するランディング ページと、ユーザーが登録できるようにする入力フィールドのセットである「サインアップ」コンポーネントがあります。

リピーターの場合は、ランディング ページをそのまま表示し、[ログイン] をクリックして、登録コンポーネントをログイン コンポーネントに置き換えるだけです。URL を変更したくないので、'/' のままにしておく必要があります。

ui-router の場合、ネストされた状態を実行できますが、Angular2 のルーターがまだそれをサポートしているかどうかわかりませんか?

app.ts

着陸.ts

ランディング コンポーネントのパスは異なる必要がありますか?