Ionic3-Cordova-UWP:当应用程序运行时,Ionic Storage不起作用



我的 Ionic App for Windows(UWP 应用程序)中的 Ionic 存储有问题。我已经测试并部署了我的安卓应用程序,没有任何麻烦。 现在我想生成一个 UWP 应用。

我正在开发的应用程序是研讨会的仪表板。指标每天都在变化,我需要将它们从一天保存到另一天。为此,我使用Ionic的存储模块。

启动命令时

$ionic serve

该应用程序的响应与在网络浏览器(Firefox)中完全一样。从一次发布到另一次发布,我的数据仍然存在。 当我使用

$ionic cordova run windows

我的应用程序的安装和启动步骤工作正常。我的应用程序的每个功能都运行良好,但是对存储的调用(获取和设置)不起作用:当我关闭,然后将其作为自治应用程序重新打开时,我每次都会丢失所有数据。当我从Visual Studio运行应用程序时也是如此。

此外,我写了一些控制台.log在承诺的结果中,它们都没有写在 Javascript 控制台中。就像Windows无法识别该命令一样。

我尝试使用Visual Studio 2015 Update 3和Visual Studio 2017,结果是相同的。我遵循了 Ionic Doc 的建议,并在 config.xml 中添加了目标平台 windows10。

有没有人知道我做错了什么?Windows和Ionic之间有不兼容吗? 感谢您的任何帮助。

配置 :

Windows 10 64-bits
Ionic CLI: 3.19.1
Cordova CLI : 8.0.0
Node : v6.11.2
Visual Studio Community 2017 (15.5.27130.2036)

我的代码 maPage.ts 的摘录:

import { Storage } from '@ionic/storage';
export class maPage {
constructor(public storage: Storage) {
this.downloadData();
}
ionViewWillLeave()
{
this.saveData();
}
TabData = {
id: 0,
label: '',
Tab1: [],
Tab2: [],
attri1 : 0,
attri2: false
}
Param = {
Objet1: {NbObj1: 7},
Objet2: {NbObj2: 5}
}
saveData()
{   
var Data: object;
Data = 
{
TData: this.TabData,
TParam: this.Param
}
this.storage.set('Data', Data).then(_=> {
console.log('Backup done!');    
}, error => {
console.log('erreur : ', JSON.stringify(error))
});
}
downloadData()
{
this.storage.ready().then(()=>{
console.log('storage ready');
this.storage.get('Data').then((val) => {
this.TabData = val.TData;
this.Param = val.TParam;
console.log('Récupération terminée !');
}).catch(erreur => {  
console.log('La variable Data est vide ou n'existe pas!');
console.log('erreur : ', JSON.stringify(erreur));
}).catch(err => {
console.log('storage not ready');
console.log('err : ', JSON.stringify(err));
});
}
}

在 Windows 平台上,不支持控制台.log。为此,您应该安装cordova-plugin-console,或者需要使用alert function.

关于存储,我建议您使用localstoragecordova-sqlite-storage.

最新更新