2 回答
TA贡献1802条经验 获得超4个赞
选项 1:作为可选参数发送
路由配置
const routes: Routes = [
{path: 'detailedview/:type/:id', component: DetailViewComponent}
];
导航源
navigateToPath() {
const optionalParams = {
title: 'Sample',
q: 'Sample',
...
}
this._router.navigate(['/detailedview', 'sampleType', 1, {optionalParams: JSON.stringify(optionalParams)}]);
}
导航收件人
import { ActivatedRoute } from '@angular/router';
export class DetailViewComponent implements OnInit {
constructor(private _actRoute: ActivatedRoute) { }
ngOnInit() {
this.optionalParams = JSON.parse(this._actRoute.snapshot.paramMap.get('optionalParams'));
}
}
生成的网址
/detailedview/sampleType/1;optionalParams=<Object>
选项 2:作为查询参数发送
路由配置
const routes: Routes = [
{path: 'detailedview/:type/:id', component: DetailViewComponent}
];
导航源
navigateToPath() {
const params = {
title: 'Sample',
q: 'Sample',
...
}
this._router.navigate(['/detailedview', 'sampleType', 1], {queryParams: params});
}
导航收件人
import { ActivatedRoute } from '@angular/router';
export class DetailViewComponent implements OnInit {
constructor(private _actRoute: ActivatedRoute) { }
ngOnInit() {
this.type = this._actRoute.snapshot.paramMap.get('type');
this.title = this._actRoute.snapshot.queryParamMap.get('title'));
this.q = this._actRoute.snapshot.queryParamMap.get('q'));
}
}
生成的网址
/detailedview/sampleType/1?title=Sample&q=Sample
添加回答
举报