2016-12-26 2 views
2

I'm trying to implement this simple example given in ionic 2 doc: http://ionicframework.com/docs/v2/native/sqlite/sqlitePlugin Ошибка при использовании SQLite в ионном 2

Я попробовал этот пример (выполнение запроса на БД помещен под 'www\test.sqlite' папку ионного проекта) на MAC и я получаю эту ошибку как в браузере и на IOS симулятор (Безразлично» Т работы на устройстве либо):

ReferenceError: sqlitePlugin не определен

Я добавил Cordova-SQLite-хранения плагин для ионного проекта.

Код:

constructor(public navCtrl: NavController, public platform: Platform, 
       public pps: ProdPerfService){ 
     platform.ready().then((readySource) => { 
      pps.getSummary(); //pps is a provider named ProdPerfService 
     }); 
    } 

//ProdPerfService: 
import { Injectable } from '@angular/core'; 
import { SQLite } from 'ionic-native'; 

@Injectable() 
export class ProdPerfService { 
    constructor(){ 

    } 

    getSummary(){ 
     let db = new SQLite(); 
     db.openDatabase({ 
      name: 'test.sqlite', 
      location: 'default' // the location field is required 
     }).then(() => { 
      db.executeSql('select * from summary', {}).then(() => { 
       alert('result'); 

     }, (err) => { 
      console.error('Unable to execute sql: ', err); 
      alert('err'); 
     }) 
     }, (err) => { 
      console.error('Unable to open database: ', err); 
      alert(err); 
     }); 
    } 

} 

ionic details: Cordova CLI: 6.4.0 Ionic Framework Version: 2.0.0-rc.3 Ionic CLI Version: 2.1.17 Ionic App Lib Version: 2.1.7 Ionic App Scripts Version: 0.0.45 ios-deploy version: Not installed ios-sim version: Not installed OS: OS X El Capitan Node Version: v7.2.1 Xcode version: Xcode 8.1 Build version 8B62

ответ

0

Попробуйте переместить логику из конструктора.

ionViewDidLoad(){ 
    this.platform.ready().then((readySource) => { 
     this.pps.getSummary(); //pps is a provider named ProdPerfService 
    }); 
} 
+0

попытался, что, по-прежнему дает мне ту же ошибку. – Deepak

Смежные вопросы