繁体   English   中英

Angular 路由器 - 使用 [routerLink] 在组件上导航

[英]Angular router - use [routerLink] to navigate on component

如何从localhost:4200/home路由到localhost:4200/home#app=1111

我试过类似的东西:

home.component.html

 <a class="app-card" [routerLink]="['/HOME']" [queryParams]="{'app':'1111'}">

但随后什么也没有发生。 queryParams使用? 而不是#用于路由。

home.module.ts

RouterModule.forChild([
  {
    path: '',
    component: HomeComponent,
  }
]),

有人有想法吗?

谢谢!

您可以将可选参数作为进一步的routerLink传递给 routerLink:

<a class="app-card" [routerLink]="['/HOME', {'app':'1111'}]">

在这种情况下,output 是: /HOME;app=1111


更新

要拥有可选的 queryParams,您可以添加以下路由:

{ path: 'home', component: HomeComponent }
{ path: 'home/:app', component: HomeDetailComponent }

因此,您将有以下匹配项:

/home            matches => path: 'home'
/home/1111       matches => path: 'home/:app'

更新 2

// app-routing.module.ts

RouterModule.forRoot([
  {
    path: 'home',
    loadChildren:() => import('....').then(m => m.HomeModule),
  }
])

如果使用子路由,则需要在路径中添加更多参数:

// home-routing.module.ts

RouterModule.forChild([
  {
    path: ':app',
    component: HomeComponent,
  }
])

在您的模板中:

<a class="app-card" [routerLink]="['/HOME']" [queryParams]="{'app':'1111'}">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM