我在相同的范围内有两个类和一个角度控制器。但是当尝试在角度控制器中创建Class2时,它不会识别我的构造函数,或者实际上它根本不识别该类console.log(m.Class2) = undefined
。这是一个打字稿错误还是我错过了什么?我使用VS2015并且intellisensi可以找到该类,但在编译并在chrome上运行后,我收到错误消息:'m.Class2 is not a constructor'
。
module m {
export class Class1{
constructor(protected id: number) {
}
}
export class Class2{
constructor(protected id: number) {
}
}
angular.module("test").controller("mopstest.controller", ['$scope', function ($scope: any) {
let c = new m.Class1(1); //works
let b = new m.Class2(1); //error m.Class2 is not a constructor
console.log(m.Class1); //function Class1(id)....
console.log(m.Class2); //undefined
}]);
}
答案 0 :(得分:0)
您发布的代码
module m {
export class Class1{
constructor(protected id: number) {
}
}
export class Class2{
constructor(protected id: number) {
}
}
angular.module("test").controller("mopstest.controller", ['$scope', function ($scope: any) {
let c = new m.Class1(1); //works
let b = new m.Class2(1); //error m.Class2 is not a constructor
console.log(m.Class1); //function Class1(id)....
console.log(m.Class2); //undefined
}]);
}
除非m
也在其他地方宣布,或者您的模块已拆分为多个文件(<{3}}上的更多内容