我的数据库没有被创建。当我看到控制台时,它显示以下错误:
未捕获(承诺):TypeError:无法读取未定义的属性“ then” TypeError:无法读取未定义的属性“ then” 在新的首页(home.page.ts:31)
我已经安装了npm install @ionic-native/sqlite@beta --save
下面是我的home.page.ts
代码:
import { Component } from '@angular/core';
import { NavController } from '@ionic/angular';
import { SQLite, SQLiteObject } from '@ionic-native/sqlite/ngx';
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
export class HomePage {
constructor(public navCtrl: NavController,private sqlite: SQLite){
this.sqlite.create({
name: 'ionicdb.db',
location: 'default'
})
.then((db: SQLiteObject) => {
db.executeSql('CREATE TABLE IF NOT EXISTS expense2(rowid INTEGER PRIMARY KEY, date TEXT, type TEXT, description TEXT, amount INT)', [])
.then(() => console.log('Executed SQL'))
.catch(e => console.log(e, 'err'));
})
.catch(e => console.log(e));
}
}
我已经按照文档进行操作,但不知道为什么仍然存在此错误。
我的项目的ionic info -v
供您参考:
ionic (Ionic CLI) : 4.8.0 (C:\Users\jessica\AppData\Roaming\npm\node_modules\ionic)
Ionic Framework : @ionic/angular 4.0.0-rc.1
@angular-devkit/build-angular : 0.11.4
@angular-devkit/schematics : 7.1.4
@angular/cli : 7.1.4
@ionic/angular-toolkit : 1.2.2
Cordova:
cordova (Cordova CLI) : 8.1.2 (cordova-lib@8.1.1)
Cordova Platforms : none
Cordova Plugins : no whitelisted plugins (2 plugins total)
System:
(C:\Program Files (x86)\Android\android-sdk)
NodeJS : v10.15.0 (C:\Program Files\nodejs\node.exe)
npm : 6.0.1
OS : Windows 8.1
答案 0 :(得分:0)
我遇到了同样的问题。 sqlite自然无法在浏览器中使用。因此,如果您仅安装插件并进行离子服务,则它将无法正常工作。运行以下命令:
ionic cordova platform add browser
然后
ionic cordova run browser
我不得不两次运行第二个命令。对于第一个命令,它不是为我构建的。在此之后,它起作用了。