2017-08-15 19 views
-1

loadChildren("123#childModule")からappModuleまでモジュールをロードしており、ブラウザに常に/#/が追加されています。角2 - URLからハッシュ(#)を削除

私はuseHash : falseProvidersPathLocationStrategyとして試しましたが、まだ問題があります。

これについての調査を行っていましたが、これまでのところ解決策が見つかりませんでした。何か案が?前もって感謝します。

+0

構文はここに – Fabien

+0

追加あなたのapp.routing.tsモジュールの内容を強化 – MondKin

+0

https://stackoverflow.com/a/46315140/2978923 – Deshak9

答えて

1

を試してみてくださいあなたはこれを試すことがあります。

あなたはアンギュラ最終を使用している場合は、ハッシュに理由が考えられます。

RouterModule.forRoot(yourRoutesHere, { useHash: true }) 

またはこの使用:モジュールのほかに

をプロバイダが、あなたのモジュールのインポートをチェックするならば、{useHash:true}をRouterModule.forRootの第2引数として提供することでオーバーライドすることもできます:

imports: [ 
    ... 
    RouterModule.forRoot(routes, { useHash: true }) // remove second argument 
] 
0

まず第一に、私はあなたがルートコードは次のようにあるべきモジュール で遅延読み込みしようとしていたと信じて:

{ path: 'mgt', loadChildren: 'app/your-mgt/your-mgt.module#YourModule'} 

そして、あなたのURLの#ショーはここで、「#」とは何の関係もありません。デフォルトで
は、角度はすでに

RouterModule.forRoot(routes) 

私はこれがあなたのものだと思いPathLocationStrategyを使用:

RouterModule.forRoot(routes, { useHash: true } or RouterModule.forRoot(routes, { useHash: false } 

なく、あなたのバックエンドがあるいただきましたことを確認、しかし、あなたは1を持っており、それがデータをフェッチするために、AJAXを使用する場合。 バックエンドでExpressを使用している場合。 this

+0

こんにちはリー、ご回答いただきありがとうございます。私たちはサービス呼び出しのない静的なページ自体をロードするだけでURLに/#/を見ています。ハッシュを使用しようとしました:偽ですが運がまだありません。 URLに#を正確に追加しているかどうかはわかりません。私は角度2にかなり新しいです、助けてください。 –

+0

@ RajuChあなたのapp.module.tsファイルを教えてもらえますか? –

+0

どこが間違っているのか分かりました。私たちが作ったカスタムライブラリは、Hashlocation戦略を使っています。あなたのサポートと助けてくれてありがとう。 –

関連する問題