我正在尝试用角度2创建一个应用程序,并且想要传递params来标记[routerLink]中的一个,我想要像这样的链接:
<a href="/auth/signup?cell=1654654654"></a>
我不知道如何在模板中传递细胞…
解决方法
如果你打算使用angula2 beta,那么你必须在做路由时发送这样的参数.
<a [routerLink]="['signup',{cell:cellValue}]">Routing with parameter</a> <input type='text' [(ngModel)]='cellValue'>
而且在接收方面比你必须通过使用RouteParams得到参数.
如果您要使用angular2 RC而不是必须使用RouteSegment而不是在angular2 RC中使用RouteParams.像这样 :-
import { Component } from '@angular/core'; import { Routes,RouteSegment,ROUTER_DIRECTIVES } from '@angular/router'; @Component({ selector: 'about-item',template: `<h3>About Item Id: {{id}}</h3>`,Directives: [ROUTER_DIRECTIVES] }) class AboutItemComponent { id: any; constructor(routeSegment: RouteSegment) { this.id = routeSegment.getParam('id'); } } @Component({ selector: 'app-about',template: ` <h2>About</h2> <a [routerLink]="['/about/item',1]">Item 1</a> <a [routerLink]="['/about/item',2]">Item 2</a> <div class="inner-outlet"> <router-outlet></router-outlet> </div> `,directives: [ROUTER_DIRECTIVES] }) @Routes([ { path: '/item/:id',component: AboutItemComponent } ]) export class AboutComponent { }