2014-10-01 59 views
0

我想用打字稿扩展一个有角度的工厂,这样我就可以拥有一个特定的工厂,但是当我尝试运行它时,它会给我一个错误。在AngularJS中扩展工厂TypeScript

module App.Services { 

export interface IShared { 
    documents: Array<any>; 
} 

export class Shared implements IShared { 

public static serviceId = "shared"; 

datacontext: App.Services.IDatacontext; 
documents: Array<any>; 

    constructor(datacontext: App.Services.IDatacontext) { 
    this.datacontext = datacontext; 

    this.datacontext.getDocuments().success((documents) => { 
     this.documents = documents; 
    }); 
    } 
} 

editorApp.factory(Shared.serviceId, ['datacontext', 
    (datacontext) => new Shared(datacontext) 
]); 
} 

欲当我启动它给我在第6行未处理的异常,第5列中templateShared.js到共享类延伸到下面的类

module App.Services { 

export interface ITemplateShared extends IShared { 

} 

export class TemplateShared extends Shared implements ITemplateShared { 

    public static serviceId = "templateShared"; 

    datacontext: App.Services.IDatacontext; 

    constructor(datacontext) { 
     super(datacontext); 
     //this.datacontext = datacontext; 
    } 
} 

editorApp.factory(TemplateShared.serviceId, ['datacontext', 'shared', 
    (datacontext) => new TemplateShared(datacontext) 
]); 
} 

感谢提前!

回答

0

类TemplateShared延伸共享

最LIKEY问题:确保Shared是由浏览器TemplateShared之前加载。加载JavaScript/TypeScript的顺序很重要。

我建议使用外部模块来避免这个错误:https://www.youtube.com/watch?v=KDrWLMUY0R0&hd=1

+1

在同一文件中有他们固定我的问题,所以我可以确保之前,其他的一个被加载。谢谢! – Sandman 2014-10-01 12:17:42