我是TypeScript的新手,我遇到了一个我无法理解的问题......
我正在使用一个名为TypeLite的库,它将采用我的C#POCO并将它们转换为TypeScript类。
这是一个T4模板,它生成一个名为TypeLite.Net4.d.ts的文件,据我所知,.d文件是自动加载的定义文件。
生成的代码如下所示:
declare module Models {
export class LoginModel {
password: string;
rememberMe: boolean;
userName: string;
}
}
在我的组件中,我可以正常访问Models.LoginModel并且它不会给我任何编译器错误(使用Visual Studio)。
但是,当我尝试运行它时,我得到:
EXCEPTION: Error: Uncaught (in promise): EXCEPTION: Error in :0:0
ORIGINAL EXCEPTION: ReferenceError: Models is not defined
ORIGINAL STACKTRACE:
ReferenceError: Models is not defined
at new LoginComponent
这是我的LoginComponent:
import { Component } from 'angular2/core';
@Component({
selector: 'login',
templateUrl: './app/login/login.html'
})
export class LoginComponent {
model: Models.LoginModel = new Models.LoginModel();
}
我在这里做错了什么?
答案 0 :(得分:2)
您尚未将Model导入LoginComponent
import { Model } from 'path to Model module';
由于定义文件,您可能会获得智能感知,但要在运行时使用它,您必须导入该类。
希望这会有所帮助!!