[Resolvido] TypeError: Cannot read property 'split' of undefined

Boa tarde pessoal

Estou a dias tentando achar o erro mas não estou conseguindo.

Segue o código onde eu acho que está:

public getDB() {
    return this.sqlite.create({
      name: 'database.db',
      location: 'default'
    });
  }

estou usando IONIC 3.9, angular 5.2

A mensagem de erro é a seguinte:

Error: Uncaught (in promise): TypeError: Cannot read property ‘split’ of undefined

Fui procurar onde aparece esse SPLIT e achei no VENDOR.JS

segue a função que acusando dentro do vendor.js

var get = function (element, path) {
    var paths = path.split('.'); ==========>>>> EXATAMENTE ESSA LINHA
    var obj = element;
    for (var i = 0; i < paths.length; i++) {
        if (!obj) {
            return null;
        }
        obj = obj[paths[i]];
    }
    return obj;
};

preciso de ajuda…

valeu

O erro diz que você esta chamando um método de um obj nulo, que no caso é o path

Em que lugar você chama o get?

Hummm…

eu chamo esse get no proprio database.ts

  public createDatabase() {
    return this.getDB()
      .then((db: SQLiteObject) => {

        // Criando as tabelas
        this.createTables(db);

        // Inserindo dados padrão
        this.insertDefaultItems(db);

      })
      .catch(e => console.log('erro aqui: ' + e));
  }

e esse createDatabase() eu chamo no app.components.ts para criar o banco:

 //Criando o banco de dados
      dbProvider.createDatabase()
        .then(() => {
          // fechando a SplashScreen somente quando o banco for criado
          this.openHomePage(splashScreen);
        })
        .catch(() => {
          // ou se houver erro na criação do banco
          this.openHomePage(splashScreen);
        });

estou seguindo um exemplo que encontrei na internet.

valeu

Era a versão do sqlite.

essas instalações resolveram:

> $ ionic cordova plugin add cordova-sqlite-storage
> $ npm install --save @ionic-native/sqlite@4

Funcionou para mim também!

npm uninstall --save @ionic-native/sqlite
npm install --save @ionic-native/sqlite@4

Mudar o import de
import { SQLite, SQLiteObject } from ‘@ionic-native/sqlite/ngx’;
para
import { SQLite, SQLiteObject } from ‘@ionic-native/sqlite’;