离子运行功能一次(在第一次运行应用程序时)

时间:2018-01-25 07:47:48

标签: javascript angular ionic-framework javascript-events ionic2

我正在尝试执行一个将数组设置为离子存储中的默认值的函数,但是我需要这样才能在第一次运行应用程序时(在用户手机上安装它之后)。目前它是每次启动应用程序时触发,因为我在我的组件中有功能.ts - > platform.ready()。这是我的功能,我只是不确定在哪里放置它。如您所见,我将数组设置为默认值,此数组将在应用程序的其他部分中更新。当用户关闭应用程序并重新打开它时,数组将重置为默认值,因此我需要使该函数仅运行一次.ie。当用户第一次运行应用程序时。

  let array = [];
  array.push(
    { "username":"Name & Surname*", "email":"Email*", "cellnumber":"Cell Number*", "displayname":"Displayname*", "profilepicture":"urlpath", "projectname":"Projectname", "dateadded":"Dateadded", "notes":"Notes", "image":"Image", "taskname":"Taskname", "taskdescription":"Taskdescription", "taskimage":"Taskimage" }
  );
  this.storage.set('myStore', array); 

谢谢

1 个答案:

答案 0 :(得分:1)

检查存储中是否设置了'myStore'键:

this.storage.get('myStore').then(data => {
   if ( !data ) {
       let array = [];
       array.push(yourDataObject);
       this.storage.set('myStore', array); 
   }
})
.catch(err=>{
   console.log('Your data don't exist and returns error in catch: ' + JSON.stringify(err);
});

尚未测试此代码,但它应该可以运行。