如何在ionic2中浏览器刷新时导航到当前页面?

时间:2018-02-07 10:58:26

标签: angular routing ionic2

我正在研究ionic2项目。在那里我有登录页面和四个标签。首先必须出现登录页面。

为此,我已经放置了

rootPage:any = LoginPage

以登录页面为根页。

完美无缺。但我的问题是浏览器刷新,页面重新加载并再次导航到登录页面而不停留在当前页面。

我已将根页面更改为当前页面名称,它完美无缺。但是我有两个包含不同选项卡的模块,因此我无法在rootPage中给出特定的选项卡名称。如何在浏览器刷新时将页面导航到当前页面?

1 个答案:

答案 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 {
    // ...
}