离子3:无法解析SQLiteObject的所有参数:(?)

时间:2017-06-25 13:07:00

标签: sqlite cordova ionic3 ionic-native

我正在使用来自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教程,那将是很棒的。在此先感谢。

2 个答案:

答案 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