从一个模块组件到另一个模块组件的Angular 5导航

时间:2018-09-17 15:31:18

标签: angular typescript

我在homeModule中有home组件,在contactModule中有contactUs组件。

当我在contactUs组件中单击“取消”时,它应将我们重定向到“首页”。

路线

import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {RouterModule, Routes} from '@angular/router';
import {homeComponent} from './home/home.component';


const routes: Routes = [
{ path: 'home', component: homeComponent},
{ path: 'demo-ui/home', component: homeComponent},
];


@NgModule({
imports: [
RouterModule.forRoot(routes)
],
exports: [RouterModule],
declarations: []
})
export class AppHomeRoutingModule {
}

我尝试了以下代码,但是没有用

 import { Component, OnInit } from '@angular/core';
 import { FormsModule, Validators, NgForm } from '@angular/forms';
 import { Router } from '@angular/router';


 @Component({
   //some code
 })
export class contactUsComponent implements OnInit {
constructor( private router: Router ){
}

ngOnInit() {
}


redirect(){
this.router.navigateByUrl('/home');    }

}
 //html
 <button class="btn btn-primary" type="button"  (click)="redirect()"> 
  Cancel </button>

我也尝试过

<button class="btn btn-primary" type="button"  [routerLink]="['/home']"> Cancel </button>

<button class="btn btn-primary" type="button"  routerLink="/home"> Cancel </button>

错误:无法匹配任何路由。网址段“ ./home”

3 个答案:

答案 0 :(得分:0)

在.ts中创建功能

赞:

redirectToHome(){
   this.router.navigate(['/home']);
}

并调用您的html

<button (click)="redirectToHome()">Cancel</button>

答案 1 :(得分:0)

您需要使用锚标签来使routerLink正常工作。

<a class="btn btn-primary" role="button" routerLink="/home">Cancel</a>

答案 2 :(得分:-1)

您可以使用:this.router.navigate(['home']);