我正试图将activatedroute组件注入到我的组件中,以访问我正在编辑的对象的id(或者要找出,没有id参数,将创建新对象)。
我只为组件创建了模板,当我加载起始页(而不是事件包含我要使用的组件的页)时,会得到以下错误:
错误:(systemjs)无法解析activatedroute:(????????).
这是我的代码:
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute} from "@angular/router";
@Component({
selector: 'my-edit',
templateUrl: './templates/my-edit.htm',
providers: [ActivatedRoute]
})
export class MyEditComponent implements OnInit {
constructor(private route : ActivatedRoute){
console.log(route.params)
}
ngOnInit() : void {
}
}
它基于Angularjs网站(英雄)的示例代码,我真的不知道这里的问题在哪里……我不能导入activatedroute到组件中吗,或者我需要一些额外的东西才能导入它?
我的路由配置是:
@NgModule({
imports: [ RouterModule.forRoot(routes) ],
exports: [ RouterModule ]
})
export class AppRoutingModule {}
其中
routes
是路由的集合,就像在角度示例中一样,AppRoutingModule
是在app.module中导入的。 最佳答案
从providers: [ActivatedRoute]
中删除@Component()
不需要。RouterModule.forRoot()
已经提供了所需的一切。