Javascript 如何在angular4中设置默认路线?

Javascript 如何在angular4中设置默认路线?,javascript,angular,Javascript,Angular,嗨,我是新来的,我想在我的应用程序中设置默认路由 下面是我的app.routing.ts 从'@angular/router'导入{Routes,RouterModule} import { HomeComponent } from './home/index'; import { LoginComponent } from './login/index'; import { RegisterComponent } from './register/index'; import { AuthGu

嗨,我是新来的,我想在我的应用程序中设置默认路由 下面是我的app.routing.ts 从'@angular/router'导入{Routes,RouterModule}

import { HomeComponent } from './home/index';
import { LoginComponent } from './login/index';
import { RegisterComponent } from './register/index';
import { AuthGuard } from './_guards/index';

const appRoutes: Routes = [
    { path: '', component: HomeComponent, canActivate: [AuthGuard] },
    { path: 'login', component: LoginComponent },
    { path: 'register', component: RegisterComponent },

    // otherwise redirect to home
    { path: '**', redirectTo: '' }
];

export const routing = RouterModule.forRoot(appRoutes);
目前它的加载LoginComponent我想把它改成RegisterComponent我怎么做有人能帮我继续吗

下面是我的app.module.ts

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule }    from '@angular/forms';
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';

// used to create fake backend
import { fakeBackendProvider } from './_helpers/index';

import { AppComponent }  from './app.component';
import { routing }        from './app.routing';

import { AlertComponent } from './_directives/index';
import { AuthGuard } from './_guards/index';
import { JwtInterceptor } from './_helpers/index';
import { AlertService, AuthenticationService, UserService } from './_services/index';
import { HomeComponent } from './home/index';
import { LoginComponent } from './login/index';
import { RegisterComponent } from './register/index';

@NgModule({
    imports: [
        BrowserModule,
        FormsModule,
        HttpClientModule,
        routing
    ],
    declarations: [
        AppComponent,
        AlertComponent,
        HomeComponent,
        LoginComponent,
        RegisterComponent
    ],
    providers: [
        AuthGuard,
        AlertService,
        AuthenticationService,
        UserService,
        {
            provide: HTTP_INTERCEPTORS,
            useClass: JwtInterceptor,
            multi: true
        },

        // provider used to create fake backend
        fakeBackendProvider
    ],
    bootstrap: [AppComponent]
})

export class AppModule { }

AuthGard
canActivate
方法中,如果回答
false
,只需将客户端重定向到
/register

export class AuthGuard {

  constructor( private authService : AuthService, private router : Router ) {
  }

  canActivate( route : ActivatedRouteSnapshot, state : RouterStateSnapshot ) {
    if(this.authService.isLoggedIn()) 
      return true;
    else // This:
      this.router.navigate(['DESIRED/PATH']);
  }
}

AuthGard
canActivate
方法中,如果回答
false
,只需将客户端重定向到
/register

export class AuthGuard {

  constructor( private authService : AuthService, private router : Router ) {
  }

  canActivate( route : ActivatedRouteSnapshot, state : RouterStateSnapshot ) {
    if(this.authService.isLoggedIn()) 
      return true;
    else // This:
      this.router.navigate(['DESIRED/PATH']);
  }
}

请更改应用程序路由顺序并添加pathMatch属性

const appRoutes: Routes = [
    { path: 'login', component: LoginComponent },
    { path: 'register', component: RegisterComponent },
    { path: '', component: HomeComponent, canActivate: [AuthGuard], pathMatch: 'full' },

    // otherwise redirect to home
    { path: '**', redirectTo: '' }
];

请更改应用程序路由顺序并添加pathMatch属性

const appRoutes: Routes = [
    { path: 'login', component: LoginComponent },
    { path: 'register', component: RegisterComponent },
    { path: '', component: HomeComponent, canActivate: [AuthGuard], pathMatch: 'full' },

    // otherwise redirect to home
    { path: '**', redirectTo: '' }
];
你可以这样用

// otherwise redirect to home
{ path: '**', redirectTo: '/' }
你可以这样用

// otherwise redirect to home
{ path: '**', redirectTo: '/' }

{path:'**',redirectTo:'register'}
你在找什么?@Eminala我试过这个{path:'**',redirectTo:'register'}但是仍然是它的加载登录页面当你测试这个时,你输入什么作为URL?另外,如果你也能为
AuthGuard
添加代码那就太好了。
{path:'**',重定向到:'register'}
你在找什么?@Eminala我试过这个{path:'**',重定向到:'register'}但是仍然是它的加载登录页面,当你测试这个时,你输入什么作为URL?此外,如果您还可以为
AuthGuard
添加代码,那就太好了。