我一直在使用TypeScript针对OData商店使用jaydata,如下所述:http://jaystack.com/blog/typescript-meets-odata-with-the-help-of-jaydata-and-jaysvcutil。Jaydata WebSql Provider with Typescript
现在,我试图扩展应用程序以使用本地存储(以及webSql),但似乎打印机声明文件只允许实例化OData上下文。如何在定位不同的存储提供商时使用声明文件?
我一直在使用TypeScript针对OData商店使用jaydata,如下所述:http://jaystack.com/blog/typescript-meets-odata-with-the-help-of-jaydata-and-jaysvcutil。Jaydata WebSql Provider with Typescript
现在,我试图扩展应用程序以使用本地存储(以及webSql),但似乎打印机声明文件只允许实例化OData上下文。如何在定位不同的存储提供商时使用声明文件?
我的JayData工作。这么晚才回复很抱歉。 在JayData中,我们有一个名为“本地”的“虚拟”提供程序。它隐藏了不同浏览器支持的不同本地存储技术,因此您不必担心它,并为IndexedDB,WebSQL和HTML5.localStorage编写代码。只写一次就可以了。
所有你需要做的是改变服务的参数,如:
var mydatabaseService = new mydatabase.mydatabaseService({
name: 'local',
databaseName: 'myitems'
});
有一些事情要小心: -string主键不支持(不JayData但由商店) 如果你想要导航属性,那么目前它只支持sqLite,所以你必须明确地使用它(name:'sqLite'而不是名字:'local'),并且在每个设备中都找不到sqlite。我们很快就会在其他商店实施导航。
在说明明显的风险:您可以创建自己的d.ts
声明文件,或编辑你一直在使用一个或看是否有一个在这里:https://github.com/borisyankov/DefinitelyTyped
这些d.ts文件是动态的 - 或者更准确地说,它们是特定于数据库的。 DefinitelyType不太可能找到它们。 jaydata.d.ts是另一个问题,在提交过程中,因为我们将为JayData提供d.ts,覆盖大部分功能,包括类型系统 –
是的,公平 - 我只是想尽可能多地提供选项关于查找d.ts文件。 – JcFx
谢谢Gabor。我这样做了,但现在看起来并不奏效。我试图实例化一个本地上下文,并将它与从我的OData元数据自动生成的实体一起使用。它似乎只适用于oData上下文。 – Tolu
我在回答之前就试过了,它能正常工作。你使用最新的JayData吗?控制台上有任何东西吗? –
您是手动加载提供程序还是使用onReady()?如果手动添加必要的提供者,但我建议自动加载它。 –