嗨,伙计们,我对Ionic 2完全陌生,
但是我已经知道js/ts和所有有趣的东西了。现在我想在我的离子应用程序中使用 PouchDb 这是我的 home.ts 文件:
import { Component } from '@angular/core';
import * as PouchDB from 'pouchdb';
import cordovaSqlitePlugin from 'pouchdb-adapter-cordova-sqlite';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
}
PouchDB.plugin(cordovaSqlitePlugin);
var db = new PouchDB('test', { adapter: 'cordova-sqlite' });
function setData(data) {
var todo = {
title: data,
completed: false
};
db.post(todo, function callback(err, result) {
if (!err) {
console.log('Successfully posted a todo!');
}
});
}
function getData() {
console.log(db.allDocs);
}
这是我的第一个问题var db = new PouchDb....
当我放入启动函数时没有功能,我收到错误,因为我的"setData"函数不知道"db"是什么。我该如何解决这个问题?我的进口东西对吗?
下一个问题我是否也必须在我的app.module.ts文件中导入这些东西? 我需要提供商吗?
import { NgModule, ErrorHandler } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
import { MyApp } from './app.component';
import { AboutPage } from '../pages/about/about';
import { ContactPage } from '../pages/contact/contact';
import { HomePage } from '../pages/home/home';
import { TabsPage } from '../pages/tabs/tabs';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
@NgModule({
declarations: [
MyApp,
AboutPage,
ContactPage,
HomePage,
TabsPage
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp),
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
AboutPage,
ContactPage,
HomePage,
TabsPage
],
providers: [
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler}]
})
export class AppModule {}
我认为这就是现在的一切。谢谢你的帮助
首先,您需要安装 SQLite 提供程序。 这是一个使用 SQLite 作为数据库在 Ionic 中设置 PouchDb 的教程。
https://gonehybrid.com/how-to-use-pouchdb-sqlite-for-local-storage-in-ionic-2/
如果您需要更多帮助,只需发表评论,我会改进答案。