2014-10-01 137 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