2016-11-09 2 views
0

Я хотел бы добавить DeepLinking в мое гибридное приложение, которое, как я выяснил, работает с ионно-родным.
У меня есть рабочий проект с SQLite datebase, протестированный на iOS и Android, но когда я включаю ionic.native в свой модуль приложения, он выдает ошибку.
Кордоба SQLite с ионной нативной в угловой 1

app.module: angular.module('myApp', ['ionic', 'ionic.native'])
app.run: openDB находится в app.js: 207
ionic.Platform.ready(function() { db = $cordovaSQLite.openDB({name: 'my.db', location: 'default'}); });

Error: Uncaught TypeError: undefined is not a function. app.js:207

The blog post about ionic deep linking I try to put into practice
Ionic deep linking plugin docs for Ionic/Angular 1

Я предполагаю, что это связано с ионным -native, так как он также имеет SQLite.

+0

Вы можете показать больше кода, особенно ту часть, где зависимостей впрыскивается? В вашем случае это может быть функция 'run()'. – Dexter

+0

Несомненно, но все, что я сделал, добавляет к модулю 'ionic.native'. До этого все работало нормально. '.run (функция ($ window, $ ionicPlatform, $ rootScope, $ state, $ cordovaSQLite, $ ionicPopup, $ ionicHistory) {...}' и некоторые сервисы также включены. – MagicDragon

+0

попытайтесь открытьDB в событии 'deviceready' –

ответ

0

Я мог бы решить проблему, изменив способ открытия базы данных. В то время, когда я реализовывал кордову, база данных SQLite имела проблемы с iOS с window.sqlitePlugin.openDatabase(), но не использовала ionic.native, поэтому с помощью $cordovaSQLite.openDB() я решил проблему, так как она напрямую вызывает плагин.

Как я открыть БД сейчас:
ionic.Platform.ready(function() { db = window.sqlitePlugin.openDatabase({name: 'qpi.db', location: 'default'}); });

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