angular 4更改主页网址和组件

时间:2018-03-12 17:31:41

标签: node.js angular web web-applications

我有一个带有登录和注册页面的Angular 4应用程序,然后我们有了这个界面来管理我的员工和类似的东西。

我想在特定页面上启动我的应用程序,这是一个登录页面,如:

http://localhost:4200/login

一旦Angular启动并且URL中包含/ login段,如何显示登录页面?

这是我的app.module.ts文件:

import { UserService } from './user.service';
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { HttpModule } from '@angular/http';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { MatButtonModule, MatCardModule, MatMenuModule, MatToolbarModule, MatIconModule, MatInputModule,MatAutocompleteModule } from '@angular/material';
import { MatFormFieldModule } from '@angular/material';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';

import { AppComponent } from './app.component';
import { UserComponent } from './user/user.component';

import { RouterModule } from '@angular/router';
import { HomeComponent } from './home/home.component';
import { LoginComponent } from './login/login.component';

// Define the routes


@NgModule({
  declarations: [
    AppComponent,
    UserComponent,
    HomeComponent,
    LoginComponent
  ],
  imports: [
    BrowserModule,
    FormsModule,
    ReactiveFormsModule,
    HttpModule ,
    RouterModule.forRoot([
      {
        path: 'home',
        component: HomeComponent
      },
      {
        path: 'users',
        component: UserComponent
      }
      {
        path: 'login',
        component: LoginComponent
      }
    ]),
    BrowserAnimationsModule,
    MatButtonModule,
    MatCardModule,
    MatMenuModule,
    MatToolbarModule,
    MatIconModule,
    MatInputModule,
    MatFormFieldModule,
    MatAutocompleteModule
  ],
  providers: [UserService],
  bootstrap: [AppComponent]
})
export class AppModule { }

2 个答案:

答案 0 :(得分:4)

使用空路径路径配置

添加  {path: '' , redirectTo:'/login',pathMatch:'full'}到您的路线。

答案 1 :(得分:-2)

尝试进入您的路线

{ path: '**', redirectTo: '/login', pathMatch: 'full' }