我刚开始使用TypeScript。我在我的新AngularJS项目中使用TypeScript。 我遇到的问题是,类型号中的id实际上是一种字符串。 我错过了一个案子吗?
非常感谢我们的帮助,谢谢Stefan
interface IRouteParams extends ng.route.IRouteParamsService {
id: number;
}
class FooController {
constructor(private $routerParams: IRouteParams, private fooService: IFooService) {
fooService.getById($routerParams.id);
}
}
export interface IFooService {
getById(id: number): ng.IPromise<number>;
}
class FooService implements IFooService {
getById(id: number): angular.IPromise<number> {
const defer = this.$q.defer<IRace>();
if (id === -1) {
// not working
}
return defer.promise;
}
}
答案 0 :(得分:1)
路由参数始终是字符串(因为它们来自URL)。在TypeScript中编写id: number
不会改变它。在定义路由参数时,您应该写id: string
。