我一直在使用带有TypeScript的jaydata来对抗OData商店,如下所述:http://jaystack.com/blog/typescript-meets-odata-with-the-help-of-jaydata-and-jaysvcutil。
现在,我正在尝试扩展应用程序以使用本地存储(例如,webSql),但似乎typescript声明文件仅允许实例化OData上下文。如何在定位其他存储提供程序时使用声明文件?
答案 0 :(得分:4)
我为JayData工作。这么晚才回复很抱歉。 在JayData中,我们有一个名为“本地”的“虚拟”提供商。它隐藏了不同浏览器支持的不同本地存储技术,因此您不必担心它并为IndexedDB,WebSQL和HTML5.localStorage编写代码。只需写一次即可。
您所要做的就是更改服务的参数,如下所示:
var mydatabaseService = new mydatabase.mydatabaseService({
name: 'local',
databaseName: 'myitems'
});
有几点需要注意: 不支持-string主键(不是由JayData,而是由商店) - 如果你想要导航属性,那么目前它只受sqLite的支持,所以你必须使用它(name:'sqLite'而不是name:'local'),并且在每个设备中都找不到sqlite。我们很快就会在其他商店实施导航。
答案 1 :(得分:3)
冒着说明问题的风险:您可以创建自己的d.ts
声明文件,或者编辑您正在使用的声明文件,或者查看此处是否存在:https://github.com/borisyankov/DefinitelyTyped