如何在第一次打开应用程序时在Ionic中显示控制器?

时间:2017-03-07 22:30:08

标签: javascript angularjs ionic-framework

我在Google上看过很多:IonicAngular的游览,演练和简介页面,但我无法追踪它是如何的仅显示应用程序打开的第一个(之后,它再次显示,除非您删除应用程序)

所以我要做的是显示一个我只做过一次的视图/控制器/页面,并且仅在应用程序第一次打开时显示。在第二次访问时,我不希望人们再看到它。

这可能吗?如果是这样,我该怎么做?有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:3)

在您的控制器中使用

if(localStorage.getItem['firstTimeLoad']!='TRUE'){
    localStorage.setItem['firstTimeLoad']='TRUE';
    $state.go('onetime.view'); 
}
else{
    $state.go('your.route');
}

因此,当您的应用首次加载时,您的localstorage将为null。所以它会将你引导到你的第一次页面并设置本地存储,这样当你第二次加载应用程序时,条件将不满足。

OR

if(localStorage['firstTimeLoad']!='TRUE'){
    localStorage['firstTimeLoad']='TRUE';
    $state.go('onetime.view'); 
}
else{
    $state.go('your.route');
}

答案 1 :(得分:0)

您需要使用Cordova Local Storage本机插件。转到下面的URL,以了解如何在项目中添加和使用插件。 https://ionicframework.com/docs/storage/

一旦熟悉了这些,就在项目的app.components.ts的构造函数中使用此逻辑。

this.platform.ready().then(() => 
{
    // get property value
    this.storage.get('introShown').then((result) => 
    {
        // If it is set, then skip that page
        if(result){
          this.rootPage = 'Tabs';
        }
        // Otherwise if property is not set, then show that page for once and then set property to true
        else {
          this.rootPage = 'Intro';
          this.storage.set('introShown', true);
        }

      });

    });