ログイン機能を持つ角度アプリを作成しようとしています。ログイン後のホームページ上のRouterlink
ブランクアプリを生成するためにng cli
を使用しました。それはAppComponent
と来た。私は、以下のような機能を持つLoginComponent
とHomeComponent
を作成
:
LoginComponent
は、アプリの出発点になります。- ログインに成功すると、アプリは
HomeComponent
になります。
マイapp.module.ts
は以下の通りです:
@NgModule({
declarations: [
AppComponent,
LoginComponent,
HomeComponent,
],
imports: [
BrowserModule,
ReactiveFormsModule,
HttpModule,
RouterModule.forRoot([
{
path: 'home',
component: HomeComponent,
},
{
path: 'login',
component: LoginComponent
},
])
],
providers: [AuthenticationService],
bootstrap: [AppComponent]
})
export class AppModule { }
マイapp.component.html
は以下の通りです:
onSubmit(user){
this.authenticationService.login(user)
.subscribe(
data => {
this.router.navigate('/home');
},
error => {
console.log("Username or Password is incorrect!");
});
}
これは完全に正常に動作します:
<div id="mainPage">
<router-outlet></router-outlet>
</div>
私login.component.ts
はこれを持っています。ログインに成功すると、私はhome works!
メッセージを持っているhome.component.html
に着陸します。
質問:ホームページに複数のルータリンクを設定して、他のさまざまなコンポーネントやページをナビゲートできるようになりました。例えば。 1つのコンポーネントはユーザーの詳細(UserDetailComponent
)を示し、別のコンポーネントはユーザーの趣味(UserHobbyComponent
)を示し、さらに別のコンポーネントはユーザーのアドレス(UserAddressComponent
)を示します。
上記のすべての例は、の上に<router-outlet>
のタグがapp.component.html
に追加されていることを示しています。私はそれを望んでいない。私はapp.component.html
にログインページを表示するだけで、ホームページには他のすべてのリンクが表示されます。
これでどのように進むべきかについての助けは素晴らしいでしょう。 これを示すリンクがあれば、私は多くの助けになります。
ありがとうございます!以下に示すように、あなたがホームの子どもたちを必要とすることについては
あなた 'HomeCompを作ります彼自身のルートを持つモジュールをonentにします。それはあなたが目指しているものですか? – TheUnreal
私は何か不足しているかもしれませんが、あなたが探しているhome.component.htmlへのrouterlinksを移動していませんか? –
@ S.Robijns:はい – Nik