我正在使用带有Angular 2的Typescript
问题我得到的是打字稿编译器错误。 实际代码有效。
这是我的代码:
constructor(_router: Router, _params:RouteParams){
this.router = _router;
if(_params.params.id != null){
//This is where I get the error - when trying to get the id
var email = _params.params.id;
}
}
我实际上得到了param id。
typescript编译器不喜欢var的类型。
错误截图:
谢谢
答案 0 :(得分:1)
RouteParams
课程中没有此类属性id
。您更愿意使用get
方法:
var email = _params.get('id');
或者您更喜欢params
词典:
var email = _params.params['id'];
顺便说一下,您可以尝试使用Visual Studio Code
。它有相当不错的Intellisense,在这些情况下有所帮助。
答案 1 :(得分:0)
我试了一下,它对我没有任何错误。这是我试过的:
export class DetailsComponent {
constructor(service:CompanyService, routeParams: RouteParams) {
this.service = service;
this.routeParams = routeParams;
var idMethod1 = this.routeParams.params.id;
var idMethod2 = this.routeParams.get('id'));
(...)
}
}
我对路线有这个配置:
@RouteConfig([
{ path: '/', component: ListComponent, name: 'Home', useAsDefault: true }
{ path: '/:id/:f', component: DetailsComponent, name: 'Details'}
])
export class AppComponent {
(...)
}
以下是我的TypeScript编译器的版本:
$ tsc -v
message TS6029: Version 1.7.5
希望它可以帮到你, 亨利