如何在Ionic 3中使用localstorage离线发送数据?

时间:2018-10-10 08:53:17

标签: ionic-framework ionic3

我是Ionic领域的新手。我正在开发可以离线或在线发送数据的应用程序。因此,如果在我按下发送按钮后建立了连接(WIFI,3g,4g ...),则数据将发送到“命令”页面。

如果没有连接(WIFI,3g,4g ...),数据保留在本地存储中,一旦连接(WIFI,3g,4g ...)返回,数据将自动发送到页面“命令”。

请帮助我,我被困在这里。我不知道该怎么办。

这是我的html:

<ion-item>
      <ion-label fixed>Username</ion-label>
      <ion-input type="text" value=""></ion-input>
    </ion-item>

    <ion-item>
      <ion-label fixed>adress</ion-label>
      <ion-input type="text" value=""></ion-input>
    </ion-item>

    <ion-item>
      <ion-label fixed>name of dish</ion-label>
      <ion-input type="text" value=""></ion-input>
    </ion-item>

    <ion-item>
      <ion-label fixed>quantity</ion-label>
      <ion-input type="text" value=""></ion-input>
    </ion-item>

  </ion-list>
  <button ion-button> send </button>

2 个答案:

答案 0 :(得分:0)

您可以将服务与本地存储和网络一起使用。

    import { Network } from '@ionic-native/network';

constructor(private network: Network) { }

...

// watch network for a disconnect
let disconnectSubscription = this.network.onDisconnect().subscribe(() => {
  console.log('network was disconnected :-(');
});

// stop disconnect watch
disconnectSubscription.unsubscribe();


// watch network for a connection
let connectSubscription = this.network.onConnect().subscribe(() => {
  console.log('network connected!');
  // We just got a connection but we need to wait briefly
   // before we determine the connection type. Might need to wait.
  // prior to doing any api requests as well.
  setTimeout(() => {
    if (this.network.type === 'wifi') {
      console.log('we got a wifi connection, woohoo!');
    }
  }, 3000);
});

// stop connect watch
connectSubscription.unsubscribe();

答案 1 :(得分:0)

您可以使用离子网络功能(文档here)。

如果无法在线存储数据,则将其存储在本地存储中。

当您重新联机(通过Ionic Network onConnect回调)时,然后再次发送本地存储中的所有数据。