2015-01-30 2 views
10

Я хочу работать с sqlite с картой cordova в первый раз. Как я уже читал на уроке я должен использовать ngcordova как это:TypeError: Не удается прочитать свойство 'openDatabase' неопределенного

var db = null; 
app.controller('mainCtrl', function ($scope, $ionicSideMenuDelegate) { 
    $scope.toggleLeft = function() { 
     $ionicSideMenuDelegate.toggleLeft(); 
    } 
    $scope.toggleRight = function() { 
     $ionicSideMenuDelegate.toggleRight(); 
    } 
}) 
.controller('home_ctrl', function ($scope, $cordovaSQLite) { 
    db = $cordovaSQLite.openDB({name: "my.db"}); 
     //db = $window.opendb({name: "my.db"}); 
     $cordovaSQLite.execute(db, "CREATE TABLE IF NOT EXISTS people(id integer primary key, firstname text, lastname text)") 
}) 
; 

Когда я запускаю этот код ошибки говорит:

TypeError: Cannot read property 'openDatabase' of undefined 

В некоторых подобных статьях: How do I use the ngCordova sqlite service and the Cordova-SQLitePlugin with Ionic Framework? рекомендует использовать команды как это: ionic start myApp sidemenu
Я не знаю, что это, я просто использовать команду Cordova как: cordova run android или cordova create my_project
Что я должен сделать, чтобы запустить мой создать таблицу из моего Cordova проекта?

ответ

47

Вы могли бы взглянуть на этот учебник:

https://www.thepolyglotdeveloper.com/2014/11/use-sqlite-instead-local-storage-ionic-framework/

Когда вы видите эту ошибку:

TypeError: Cannot read property 'openDatabase' of undefined

Это происходит по одной из нескольких причин:

  1. Вы не обертываете $cordovaSQLite методов в функции $ionicPlatform.ready().
  2. Вы пытаетесь протестировать этот родной плагин из веб-браузера.
  3. На самом деле вы не установили базовый плагин SQLite в свой проект.

Наиболее распространенными причинами этой ошибки являются # 1 и # 2. Родные плагины должны использоваться только после того, как приложение будет подтверждено, таким образом, метод $ionicPlatform.ready(). Поскольку родные плагины используют собственный код, вы не можете протестировать их из своего веб-браузера.

Прочитайте учебное пособие, которое я связал, потому что оно должно вам помочь.

С уважением,

+1

спасибо, я пытался в Интернете и рассматривал как проблему –

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