仔细检查后,与JaySvcUtil构建的.js文件一起生成的文件 - 在我的案例中称为BO_Data.d.ts无法解析对 $ data.IPromise 的两个引用。在我在数据库中添加新表后,在Visual Studio中重新生成我的.edmx模型,然后使用JaySvcUtil.exe重新生成实体模型时,就开始发生这种情况。
declare module WcfService1 {
export class BOLOEntities extends $data.EntityContext {
onReady(): $data.IPromise;
onReady(handler: (context: BOLOEntities) => void): $data.IPromise;
在控制台中,我看到此错误: typeOrName需要未定义的值或null 在我的代码中的这一行:
window['bolo'] = new WcfService1.BOLOEntities(oProviderConfig);
提前致谢!
P.S。我这样做了,但没有帮助:TypeScript compile errors with JayData library and JaySvcUtil generated code
答案 0 :(得分:0)
所以我似乎只做了TypeScript compile errors with JayData library and JaySvcUtil generated code
中描述的两件事之一你必须:
1)更改jaydata.d.ts
declare module $data {
interface IPromise<T> extends Object {
then: {
(handler: (args: T) => void ): IPromise<any>;
(handler: (args: T) => any): IPromise<any>;
};
fail: {
(handler: (args: T) => void ): IPromise<any>;
(handler: (args: T) => any): IPromise<any>;
};
valueOf(): any;
}
等等等 valueOf():Object;
和2)在生成的打字稿文件* .d.ts中。改变这个:
onReady(): $data.IPromise;
onReady(handler: (context: BOLOEntities) => void): $data.IPromise;
到此:
onReady(): $data.IPromise<any>;
onReady(handler: (context: BOLOEntities) => void): $data.IPromise<any>;
其中 context:是您自己的上下文。