当前位置: 首页 > 知识库问答 >
问题:

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

王长卿
2023-03-14

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

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

启动命令时

$ionic serve

该应用程序在web浏览器(Firefox)中的响应完全正常。从一次发布到另一次发布,我的数据仍然在那里。当我使用

 $ionic cordova run windows

我的应用程序的安装和启动步骤运行良好。我的应用程序的每个功能都运行良好,但对存储的调用(get和set)不起作用:当我关闭它,然后作为一个自主应用程序重新打开它时,我每次都会丢失所有数据。当我从Visual Studio运行应用程序时,情况也是如此。

此外,我还编写了一些控制台。登录promise的结果,但它们都没有写入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));
   });
 }
}

共有1个答案

云俊名
2023-03-14

在Windows平台上,控制台。不支持日志。为此,您应该安装cordova插件控制台,或者需要使用警报功能

关于存储,我建议您可以使用localStoragecordova-sqlite-Storage

 类似资料:
  • 例如。 这应该运行一个简单的hello world应用程序,摘自oracle文档。然而,当我‘运行’这个代码,没有窗口打开。取而代之的是打开一个名为“Java”的应用程序。看起来'java'只是一个位于'jdk1.8.0_25.jdk/contents/home/bin'中的'UNIX可执行文件‘。应用程序'java'绝对不显示任何东西,并且在没有强制退出的情况下无法关闭。 我在MacBook上运

  • 我有一个很奇怪的问题。我正在尝试通过Docker运行一个Spring Boot应用程序。下面是我的步骤。 1)我正在创建一个DockerFile。 在这个文件中,我正在安装Java。我还在使用名为spring-boot-web-0.0.1-snapshot.jar的应用程序的jar文件。 您可以看到生成了一个容器。但当我打字的时候 container_id不可见,当我在浏览器中键入localhos

  • 我试图将来自一个非常简单的flask应用程序的应用程序日志消息保存在日志文件中。当我使用嵌入式Flask服务器运行应用程序时,这项功能完美无瑕,但在gUnicorn中运行时,它根本不起作用,基本上,运行gUnicorn时,不会将任何应用程序输出重定向到日志文件(我的Flask应用程序中指定的日志文件)或标准输出。 也就是说,这是我的烧瓶应用程序: 现在,如果我以以下方式启动应用程序: 我得到预期的

  • 这是我的课本上的一个代码示例,我试图运行它,但它无法运行。这就是错误: 我不明白为什么它是错误的,因为主类在start类之外,在extenses应用程序内部。这是直接来自一本书,我只是想知道为什么它不会运行。

  • 我正在写一个程序,显示如下所示的航班信息: 我的问题是使用方法时: 当正常运行时,由于某种原因它不会执行,但是当我使用调试器执行程序时,一切都执行得很好,我得到了一个有意义的输出(格式不是很好,但我可以使用),为什么会发生这种情况? 输出应该是这样的: 当我正常运行时,我会得到这个: 这是当我一步虽然(或运行调试): 我希望输出的是单步执行部分(稍后我将处理格式化) eddit:我已经在错误流中添

  • 这是StackTrace: 上下文初始化失败org.springframework.beans.factory.beanCreationException:创建ServletContext资源[/WEB-INF/applicationContext.xml]中定义的名为“SQL SessionFactory”的bean时出错:bean初始化失败;嵌套异常是java.lang.reflect.Mal