gpt4 book ai didi

javascript - Angular2 - 没有 'new' 就无法调用类构造函数

转载 作者:太空狗 更新时间:2023-10-29 19:31:00 26 4
gpt4 key购买 nike

我正在尝试集成 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,
]

问题是,当我尝试注入(inject) ODataServiceFactory 时,我得到的只是以下错误:

异常:ODataConfiguration 实例化期间出错! (类服务 -> ODataServiceFactory -> ODataConfiguration)。原始异常:TypeError:类构造函数 ODataConfiguration 不能在没有“new”的情况下调用

我用谷歌搜索了一下,似乎在尝试注入(inject)扩展类时出现了一些问题,但我无法找到解决方案。任何帮助将不胜感激。

最佳答案

临时解决方法是在 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/StefH/angular2-webpack-starter/blob/_stef_dev/src/app/car/categoryGridOData.component.ts#L18

有关更多详细信息,请参阅:https://github.com/gallayl/angular2-odata/issues/3

关于javascript - Angular2 - 没有 'new' 就无法调用类构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38575351/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com