2016-07-25 9 views
3

Ich versuche die angular2-odata-Bibliothek zu integrieren. Ich verwendeAngular2 - Klassenkonstruktor kann nicht ohne 'new' aufgerufen werden

@Injectable() 
    class MyODataConfig extends ODataConfiguration{ 
     baseUrl="http://localhost:54872/odata/"; 
    } 

    bootstrap(app,[ 
     //some of my other providers etc. 
     provide(ODataConfiguration, {useClass:MyODataConfig}), 
     ODataServiceFactory, 
    ] 

Problem ist, dass wenn ich versuche, alles, was ich bekommen zu injizieren ODataServiceFactory wird folgende Fehlermeldung:

AUSNAHME: Fehler bei der Instanziierung ODataConfiguration! (ClassService -> ODataServiceFactory -> ODataConfiguration). ORIGINAL AUSNAHME: Typeerror: Klasse Konstruktor ODataConfiguration kann nicht ohne ‚neue‘ aufgerufen werden

ich es gegoogelt und es scheint, dass es ein Problem ist bei dem Versuch, erweiterte Klasse zu injizieren, aber ich war nicht in der Lage Lösung hierfür zu finden. Jede Hilfe wäre willkommen.

+0

Ich denke, dass Ihre Klasse einen Konstruktor benötigt, der 'super() aufruft;' – Harangue

+0

Danke für den Vorschlag, aber ich habe versucht, constructor() {hinzuzufügenSuper(); } und die Ausnahme ist gleich. –

+0

Können Sie Ihre ODataServiceFactory-Implementierung auch posten? –

Antwort

1

Eine vorübergehende Lösung ist auf der ODataConfiguration Klasse neu zu verwenden und dann überschreiben die baseUrl:

@Component({ 
    templateUrl: './categoryGridOData.component.html', 
    selector: 'my-category-grid-odata', 
    providers: [ { provide: ODataConfiguration, useFactory:() => { 
     let odta = new ODataConfiguration(); 
     odta.baseUrl = 'http://services.odata.org/V4/Northwind/Northwind.svc'; 
     return odta; } 
    }, ODataServiceFactory ], 
    styleUrls: [ './carGrid.component.css'] 
}) 
export class CategoryGridODataComponent { 

Für vollständige Code siehe: https://github.com/StefH/angular2-webpack-starter/blob/_stef_dev/src/app/car/categoryGridOData.component.ts#L18

Für einige weitere Details zu sehen: https://github.com/gallayl/angular2-odata/issues/3

Verwandte Themen