Javascript 如何仅在应用程序第一次打开时显示控制器?
我在谷歌上看到了很多关于Javascript 如何仅在应用程序第一次打开时显示控制器?,javascript,angularjs,ionic-framework,Javascript,Angularjs,Ionic Framework,我在谷歌上看到了很多关于Ionic和Angular的浏览、浏览和介绍页面,但我无法追踪它是如何仅在应用程序第一次打开时显示的(此后,除非你删除应用程序,否则不会再次显示) 因此,我想做的是显示一个视图/控制器/页面,我只做了一次,而且只有当应用程序第一次打开时。在第二次访问中,我不想让人们再看到它 这可能吗?如果是,我该怎么做?有人能给我指出正确的方向吗?在你的控制器使用中 if(localStorage.getItem['firstTimeLoad']!='TRUE'){ localS
Ionic
和Angular
的浏览、浏览和介绍页面,但我无法追踪它是如何仅在应用程序第一次打开时显示的(此后,除非你删除应用程序,否则不会再次显示)
因此,我想做的是显示一个视图/控制器/页面,我只做了一次,而且只有当应用程序第一次打开时。在第二次访问中,我不想让人们再看到它
这可能吗?如果是,我该怎么做?有人能给我指出正确的方向吗?在你的控制器使用中
if(localStorage.getItem['firstTimeLoad']!='TRUE'){
localStorage.setItem['firstTimeLoad']='TRUE';
$state.go('onetime.view');
}
else{
$state.go('your.route');
}
因此,当您的应用程序第一次加载时,您的本地存储将为空。因此,它会将您路由到第一次页面,并设置本地存储,这样当您第二次加载应用程序时,条件将不满足
或
您需要使用Cordova本地存储本机插件。转到下面的URL,了解如何在项目中添加和使用插件。 一旦您熟悉了这一点,然后在项目的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);
}
});
});
当你的应用程序打开时,你不能检查本地存储中的值吗?如果该值未设置或为false,则显示页面并为下次设置值,否则立即重定向到新路由?如果localstorage第一次为null,则它将如何进入If块?“它不会转到else块吗?”帕帕基亚斯谢谢你指出错误。应该是的我指定的位置==。现在是properHi,我试过了,但似乎不起作用。我应该把这个放在哪里?我在通用控制器中有这样的代码,例如:$urlRouterProvider.OR(“somepage”);我应该合并还是放在下面?我应该把它放在哪个控制器中?@Siyah你必须把它放在视图的控制器中,该视图将首先加载<代码>$urlRouterProvider。否则('/somepage')代码>。因此,当加载第一个页面时,该代码将执行,状态也将随之改变,因此您可以在
$urlRouterProvider中指定您的第一个时间页面。否则('/somepage')代码>然后路由到其他页面。希望这能奏效
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);
}
});
});