我正在使用来自Here(Ionicframework.com)的Ionic 3 SQLite本机插件,这是我的构造函数代码:
constructor(public navCtrl: NavController,
public menu: MenuController,
translate: TranslateService,
private tts: TextToSpeech,
private sqlite: SQLite) {
this.sqlite.create({
name: 'data.db',
location: 'default'
}).then((db: SQLiteObject) => {
db.executeSql('create table IF NOT EXISTS `localflags`(`flag1` VARCHAR(10),`flag2` VARCHAR(10),`flag3` VARCHAR(10), `flag4` VARCHAR(10));', {})
.then(() => console.log('Table created!!!'))
.catch(e => console.log(e));
}).catch(e => console.log(e));
}
所以,当我使用“ionic cordova run android -lc”在设备上运行时,它会给我这个错误,
Can't resolve all parameters for SQLiteObject: (?)
此代码来自离子原生文档。这是非常基本的代码,我是新手,所以我无法弄清楚这是什么问题。
任何帮助将不胜感激。如果有人能指出我的Ionic 3 SQLite教程,那将是很棒的。在此先感谢。
答案 0 :(得分:7)
实际上,案例是,我在我的ts文件中完成了import { SQLite, SQLiteObject } from '@ionic-native/sqlite';
,所以我认为需要在app.module.ts
文件中导入SQLite和SQLiteObject,但在阅读this answer之后,我从SQLiteObject
文件中删除了app.module.ts
,并从构造函数中删除了SQLite的注入,并且它有效。
希望这有助于某人。
答案 1 :(得分:1)
我认为您必须在导入行上添加“ / ngx”
import { SQLite, SQLiteObject } from '@ionic-native/sqlite/ngx';
此外,您不必在 app.module.ts 文件的提供程序数组中添加 SQLiteObject