Angular2 this.route.params.map
Angular2我是惰性加载模块并设置子路由,如下所示Angular2 this.route.params.map,angular,angular2-routing,Angular,Angular2 Routing,Angular2我是惰性加载模块并设置子路由,如下所示 constructor(private route: ActivatedRoute, private programService:ProgramService) { this.route.params .map(params => params['id']) .switchMap(id => this.programService.getProgramById(id))
constructor(private route: ActivatedRoute, private programService:ProgramService) {
this.route.params
.map(params => params['id'])
.switchMap(id => this.programService.getProgramById(id))
.subscribe(program => this.model = program);
}
在模块中.ts
const routes: Routes = [
{ path: '', component: ProgramsComponent},
{ path: 'create/:id', component: CreateProgramComponent}
];
这里是利用“创建”路线的链接
我得到以下错误,任何帮助是感激的
core.umd.js:3462 EXCEPTION: Uncaught (in promise): TypeError: this.route.params.map is not a function
TypeError: this.route.params.map is not a function
添加以下两行:
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/switchMap';
RxJs由一个接一个的操作员引入,以确保您只加载所需的内容。
在您的情况下,您使用两个运算符
map
和switchMap
尝试将rxjs/add/operator/map导入文件
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/switchMap';