我正在尝试整合angular2-odata库。我正在使用
@Injectable()
class MyODataConfig extends ODataConfiguration{
baseUrl="http://localhost:54872/odata/";
}
bootstrap(app,[
//some of my other providers etc.
provide(ODataConfiguration, {useClass:MyODataConfig}),
ODataServiceFactory,
]
问题是,当我尝试注入ODataServiceFactory时,我得到的是以下错误:
EXCEPTION:实例化ODataConfiguration时出错! (ClassService - > ODataServiceFactory - > ODataConfiguration)。 原始异常:TypeError:如果没有'new',则无法调用类构造函数ODataConfiguration
我用谷歌搜索它,似乎在尝试注入扩展类时存在一些问题,但我无法找到解决方案。任何帮助将不胜感激。
答案 0 :(得分:1)
临时解决方法是在ODataConfiguration类上使用new,然后覆盖 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 {
有关详细信息,请参阅:https://github.com/gallayl/angular2-odata/issues/3