我正在尝试使用路线参数而不能实现它,因为当我导入Routeparams时它显示错误,
我的模板,
<h6 class="headingh6 nobottommargin"><a [routerLink]="['User',{{detail.firstname}}]"> {{detail.firstname}} </a></h6>
我的组件
import { Component,OnInit} from '@angular/core';
import { Route, RouteSegment, ROUTER_DIRECTIVES } from '@angular/router';
@Component({
selector: 'User',
templateUrl: './components/society/society.html',
Directives: [ROUTER_DIRECTIVES]
})
export class User {
id:any;
constructor(routeSegment: RouteSegment) {
this.id = routeSegment.getParam('id');
console.log(this.id);
}
}
有人可以帮助我
我的路线
import {provideRouter, RouterConfig} from '@angular/router';
import {DemoPage} from './demo-page';
import {User} from './components/user/user';
export const routes: RouterConfig = [
{ path: '', redirectTo: '/login', terminal: true },
{ path: 'login', component:Login },
{ path: 'signup', component:SignUp },
{ path: 'demo', component: DemoPage, children: [
{ path: 'user', component:User },
{ path: 'requests', component:Requests },
]}
];
export const APP_ROUTER_PROVIDERS = [
provideRouter(routes)
];
答案 0 :(得分:2)
<h6 class="headingh6 nobottommargin"><a [routerLink]="['User',detail.firstname]">{{detail.firstname}}</a></h6>
不要将[]
与{{}}
一起使用。两者中的任何一个,但不是两个同时。
使用
获取路由器参数constructor(private route: ActivatedRoute) {
route.routerState.params.subscribe(p => console.log(p['id'));
}
答案 1 :(得分:2)
您是否只想阅读Querystring参数?
如果是,请使用此
constructor(private route: ActivatedRoute) {
console.log(this.route.snapshot.params.id);
}
在导入中你需要这个:
import { ActivatedRoute } from '@angular/router';
当然,如果在路线配置中有/:id