我在控制器中为 routeParams 服务定义了一个本地引用。routeParams:IRouteParamsService
Webstorm 甚至代码为我完成了这个,并在我的控制器顶部生成了一个导入语句:
import IRouteParamsService = angular.route.IRouteParamsService;
但是,这会产生打字稿错误,
模块 'Angular' 没有导出的属性 'route'
我尝试删除它,尝试添加angular-ui-router.d.ts
到我的 TSD 类型集合中。也许我错过了一个不同的 TSD 定义文件?
这是我的注入器/构造器的其余有用部分。
import ILocationProvider = angular.ILocationProvider;
import IRouteParamsService = angular.route.IRouteParamsService;
import IScope = angular.IScope;
interface ILoginControllerScope extends IScope {
userObject:any;
//...
}
class LoginController {
formType = 'login';
userModel:UserModel;
location:ILocationProvider;
routeParams: IRouteParamsService;
scope:ILoginControllerScope;
static $inject = ['$scope', '$location', 'userModel', '$routeParams'];
constructor($scope, $location, $userModel, routeParams ){
this.scope = $scope;
this.location = $location;
this.userModel = $userModel;
this.routeParams = routeParams;
//...