【发布时间】:2017-03-13 11:04:34
【问题描述】:
我无法在 Ionic2 中使用 window 对象。
这个问题与my previous question中描述的想法相同。
我发现了一个关于window 对象there 的非常有用的输入。不过我确实有问题。
基于平台的条件,如果在真机上运行我想使用cordova-plugin-sqlite,如果在浏览器(Chrome)上运行,我想使用WebSql。
我使用服务来获取数据库连接,在关于该服务的类中,我创建了一个函数来根据平台类型的条件设置我的服务的数据库值(并且此函数在 [我的项目]\src\app.components.ts):
getDummyDbForBrowerDev(platform){
console.log('SqlSettingsService() getDummyDbForBrowerDev starts');
if(platform.is('core')){
console.info(window);
this.db = window.openDatabase("ionic2BrowserDev","1.0","",5*1024*1024);
}
}
由于该函数无法转换,因此当“Ionic serve”运行时出现错误提示:
类型“window”上不存在属性“openDatabase”
我真正不明白的是:如果我评论:// this.db = window.openDatabase("ionic2BrowserDev","1.0","",5*1024*1024);
然后它可以很好地转换。在我的浏览器中,console.info(window) 显示了window 对象下所有属性的列表,我可以看到它包括openDatabase。
所以我真的很困惑为什么它不能转换。
有人知道我做错了什么吗?
【问题讨论】:
标签: angular typescript cordova-plugins ionic2