Angular 如何将参数传递到URL中某个位置的routerLink?

Angular 如何将参数传递到URL中某个位置的routerLink?,angular,angular2-routing,angular2-router3,Angular,Angular2 Routing,Angular2 Router3,我知道我可以为以下路由将参数传递到routerLink /user/:id 通过写作 [routerLink]="['/user', user.id]" 但是像这样的路线呢: /user/:id/details 有没有设置这个参数的方法,或者我应该考虑一个不同的URL方案吗?< /P> < P>在您的特定示例中,您将执行下面的代码> RoutLink >: [routerLink]="['user', user.id, 'details']" 要在控制器中执行此操作,您可以插入路由器并

我知道我可以为以下路由将参数传递到
routerLink

/user/:id
通过写作

[routerLink]="['/user', user.id]"
但是像这样的路线呢:

/user/:id/details

有没有设置这个参数的方法,或者我应该考虑一个不同的URL方案吗?< /P> < P>在您的特定示例中,您将执行下面的代码> RoutLink >:

[routerLink]="['user', user.id, 'details']"
要在控制器中执行此操作,您可以插入
路由器
并使用:

router.navigate(['user', user.id, 'details']);

更多信息请参见

的Angular docs(角度文档)部分,答案可能太晚了,但如果您想使用param导航另一个页面,您可以

[routerLink]="['/user', user.id, 'details']"
另外,您不应该忘记路由配置,例如

 [path: 'user/:id/details', component:userComponent, pathMatch: 'full']

首先在表中配置:

const routes: Routes = [  
{
  path: 'class/:id/enrollment/:guid',
  component: ClassEnrollmentComponent
 }
];
现在输入脚本代码:

this.router.navigate([`class/${classId}/enrollment/${4545455}`]);
在另一个组件中接收参数

 this.activatedRoute.params.subscribe(params => {
  let id = params['id'];
  let guid = params['guid'];

  console.log(`${id},${guid}`);
  });

实现这一点有多种方法

  • 通过[routerLink]指令
  • Router类的导航(数组)方法
  • navigateByUrl(string)方法,它接受字符串并返回承诺
routerLink属性要求您在延迟加载功能模块时将routingModule导入功能模块,或者在应用程序路由模块未自动添加到AppModule imports数组时仅导入应用程序路由模块

  • 路由器链路
  • 导航球

这对我有用

应用程序路由.module.ts

const routes: Routes = [
  { path: 'products', component: ProductsComponent },
  { path: 'product/:id', component: ProductDetailsComponent },
  { path: '', redirectTo: '/products', pathMatch: 'full' },
];
在控制器中,您可以像这样导航

this.router.navigate(['/products', productId]);
它将引导您进入如下路径:http://localhost:4200/products/product-身份证

构造函数(私有activatedRoute:activatedRoute){


在本例中,您将使用这个.activatedRoute.parmas.subscribe(params=>{console.log(params['type'])};}因此,使用params而不是queryparamas从url获取参数–

非常简单

<a routerLink="/user/{{id}}/details"></a>


你能提供我能找到更多信息的链接吗?@CleanCrispCode你可以在路由器指南的Angular docs中阅读更多关于它的信息:
查看用户
语法如何?如果你会使用这个.activatedRoute.parmas.subscribe(params=>{console.log(params['type']);}因此,使用params而不是queryparamas从url获取参数
constructor(private activatedRoute: ActivatedRoute) {

this.activatedRoute.queryParams.subscribe(params => {
  console.log(params['type'])
  });  }
const routes: Routes = [
  { path: 'products', component: ProductsComponent },
  { path: 'product/:id', component: ProductDetailsComponent },
  { path: '', redirectTo: '/products', pathMatch: 'full' },
];
this.router.navigate(['/products', productId]);
<a routerLink="/user/{{id}}/details"></a>