मैं अपने सामान्य वर्ग में एक प्रकार के पैरामीटर की एक नई वस्तु बनाने की कोशिश कर रहा हूं। मेरी कक्षा में View
, मेरे पास सामान्य प्रकार की वस्तुओं की 2 सूचियाँ हैं जो कि प्रकार के मापदंडों के रूप में पारित की जाती हैं, लेकिन जब मैं बनाने की कोशिश करता हूं new TGridView()
, तो टाइपस्क्रिप्ट कहता है:
प्रतीक नहीं मिला 'TGridView
यह कोड है:
module AppFW {
// Represents a view
export class View<TFormView extends FormView, TGridView extends GridView> {
// The list of forms
public Forms: { [idForm: string]: TFormView; } = {};
// The list of grids
public Grids: { [idForm: string]: TGridView; } = {};
public AddForm(formElement: HTMLFormElement, dataModel: any, submitFunction?: (e: SubmitFormViewEvent) => boolean): FormView {
var newForm: TFormView = new TFormView(formElement, dataModel, submitFunction);
this.Forms[formElement.id] = newForm;
return newForm;
}
public AddGrid(element: HTMLDivElement, gridOptions: any): GridView {
var newGrid: TGridView = new TGridView(element, gridOptions);
this.Grids[element.id] = newGrid;
return newGrid;
}
}
}
क्या मैं सामान्य प्रकार से ऑब्जेक्ट बना सकता हूं?
new()
ज़रूरतों को भी - या अधिक सामान्य:type: {new(...args : any[]): T ;}