我正在研究ionic2项目。在那里我有登录页面和四个标签。首先必须出现登录页面。
为此,我已经放置了
rootPage:any = LoginPage
以登录页面为根页。
完美无缺。但我的问题是浏览器刷新,页面重新加载并再次导航到登录页面而不停留在当前页面。
我已将根页面更改为当前页面名称,它完美无缺。但是我有两个包含不同选项卡的模块,因此我无法在rootPage
中给出特定的选项卡名称。如何在浏览器刷新时将页面导航到当前页面?
答案 0 :(得分:0)
看起来你至少没有为你的LoginPage使用延迟加载。所以你最好的选择可能是使用Deeplinks Ionic原生插件。
它使您能够以以下形式使用简单的路由逻辑:
this.deeplinks.route({
'/about-us': AboutPage,
'/universal-links-test': AboutPage,
'/products/:productId': ProductPage
}).subscribe((match) => {
// match.$route - the route we matched, which is the matched entry from the arguments to route()
// match.$args - the args passed in the link
// match.$link - the full link data
console.log('Successfully matched route', match);
}, (nomatch) => {
// nomatch.$link - the full link data
console.error('Got a deeplink that didn\'t match', nomatch);
});
如果您可以将页面转换为模块,您将自动为每个页面提供以下形式的路径:
http://localhost:8100/#/my-page
在页面组件的@IonicPage()
装饰器中,您甚至可以指定页面的名称和"段"在URL中使用:
import { Component, OnInit } from '@angular/core';
import { IonicPage, NavController, NavParams, Platform } from 'ionic-angular';
@IonicPage({
name: 'customPageName',
segment: 'custom-path'
})
@Component({
selector: 'page-device',
templateUrl: 'device.html',
})
export class MyPage implements OnInit {
// ...
}