首页 > 解决方案 > 离子导航推送参数未显示在网址中

问题描述

app.module.ts:

imports: [
    IonicModule.forRoot(MyApp, {}, {
        links: [
            { component: CategoryPage, name: 'Category', segment: 'category:id'}
        ]
    }
],
providers: [
    {
        provide: LocationStrategy,
        useClass: PathLocationStrategy
    }
]

我也在导航的页面的配置

@IonicPage({
  name: 'Category',
  segment: 'category/:id'
})

触发导航的代码:

this.nav.push(CategoryPage, {id: 3});

该组件确实按预期加载,我可以调用 this.navParams.get('id') 从组件类中产生 3。

预期结果:网址更改为 /category:3

观察结果: url 变为 /category:id

标签: ionic-frameworkionic3

解决方案


因此,如果您尝试为 Ionic 3 实现深度链接(因为 Ionic 4 现在默认使用 Angular 的路由器),您需要确保您也相应地配置每个页面。

您要导航到的页面需要通过@IonicPage 添加配置:

@IonicPage({
    segment: 'second/:id'
})

在离子文档本指南中查看更多信息


推荐阅读