gpt4 book ai didi

sqlite - 使用 Azure 移动应用程序的 ionic 2 离线数据同步抛出 TypeError :Cannot read property 'openDatabase' of undefined

转载 作者:行者123 更新时间:2023-12-03 17:36:20 24 4
gpt4 key购买 nike

我使用 Visual Studio 模板创建了 ionic 2 应用程序,并尝试在 Azure 移动应用程序功能中开发离线数据同步。
我已经安装了节点“azure-mobile-apps-client 模块”和
用作 import * as WindowsAzure from 'azure-mobile-apps-client';在 app.components.ts 并使用初始化存储Client = new WindowsAzure.MobileServiceClient("url");但错误显示我为“TypeError:无法读取未定义的属性'openDatabase'”。

我还安装了 @ionic-native/sqlite 节点模块和 cordova-sqlite-storage 插件。

请看下面的代码:

import { Component } from '@angular/core';
import { Platform } from 'ionic-angular';
import { NavController } from 'ionic-angular';
//declare var WindowsAzure: any;
import * as WindowsAzure from 'azure-mobile-apps-client';

var mobileAppClient, // Connection to the Azure Mobile App backend
store, // Sqlite store to use for offline data sync
syncContext, // Offline data sync context
tableName
var useOfflineSync: boolean = true;


@Component({
selector: 'page-about',
templateUrl: 'about.html'
})
export class AboutPage {

constructor(public navCtrl: NavController, public platform:Platform) {

platform.ready().then(() => {
mobileAppClient = new WindowsAzure.MobileServiceClient("https://myapp.azurewebsites.net");
// Create the sqlite store
store = new WindowsAzure.MobileServiceSqliteStore('store.db');

store.defineTable({
name: 'todoitem',
columnDefinitions: {
id: 'string',
text: 'string',
complete: 'boolean',
version: 'string'
}
});

// Get the sync context from the client
syncContext = mobileAppClient.getSyncContext();

// Initialize the sync context with the store\
syncContext.initialize(store).then((syc) => {

// Get the local table reference.
tableName = mobileAppClient.getSyncTable('todoitem');

// Sync local store to Azure table when app loads, or when login complete.
syncContext.push().then((res) => {

// Push completed
// Pull items from the Azure table after syncing to Azure.
syncContext.pull(new WindowsAzure.Query('todoitem')).then((data) => {
alert(JSON.stringify(data));
}, (err) => {
alert(err);
});

});

}, function (err) {
alert(err);
});
});

}

}

最佳答案

这可能是您的客户端数据库表列与您的远程数据库不匹配。请注意,通过迁移删除列不会删除 SQLite 中的列。

关于sqlite - 使用 Azure 移动应用程序的 ionic 2 离线数据同步抛出 TypeError :Cannot read property 'openDatabase' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47608805/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com