2015-01-30 16 views
10

की संपत्ति 'openDatabase' नहीं पढ़ सकता है, मैं पहली बार कॉर्डोवा फ्रेमवर्क के साथ स्क्लाइट के साथ काम करना चाहता हूं। जैसा कि मैंने एक ट्यूटोरियल पर पढ़ा है मैं इस तरह ngcordova उपयोग करना चाहिए:टाइपरर: अपरिभाषित

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 run android या cordova create my_project
मुझे अपने मेरी कॉर्डोबा परियोजना से एक तालिका बनाने के चलाने के लिए क्या करना चाहिए?

उत्तर

47

आप इस ट्यूटोरियल पर एक नज़र ले सकता है:

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

जब आपको यह त्रुटि दिखाई:

TypeError: Cannot read property 'openDatabase' of undefined

यह कुछ ही किसी एक कारण से हो रहा है:

  1. आपको लपेट नहीं रहे हैं $ionicPlatform.ready() फ़ंक्शन में 10 विधियां।
  2. आप इस मूल प्लगइन को वेब ब्राउज़र से जांचने का प्रयास कर रहे हैं।
  3. आपने वास्तव में अपनी परियोजना में बेस SQLite प्लगइन स्थापित नहीं किया है।

इस त्रुटि के लिए सबसे आम कारण # 1 और # 2 हैं। मूल प्लगइन्स, एप्लिकेशन की पुष्टि होने के बाद ही उपयोग किया जाना चाहिए, इस प्रकार $ionicPlatform.ready() विधि। चूंकि देशी प्लगइन्स मूल कोड का उपयोग करते हैं, इसलिए आप उन्हें अपने वेब ब्राउज़र से परीक्षण नहीं कर सकते हैं।

ट्यूटोरियल के माध्यम से पढ़ें जो मैंने लिंक किया है क्योंकि इससे आपकी मदद करनी चाहिए।

सादर,

+1

धन्यवाद, मैं वेब पर कोशिश कर और समस्या के रूप में विचार कर रहा था –

संबंधित मुद्दे